Use a config.py file or environment variables to manage:
- Cloud platform credentials (username, access key)
- Browser and OS combinations
- Test environment URLs
Example snippet from cloud_driver.py to create remote WebDriver session:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import os
BROWSERSTACK_USERNAME = os.getenv('BROWSERSTACK_USERNAME')
BROWSERSTACK_ACCESS_KEY = os.getenv('BROWSERSTACK_ACCESS_KEY')
caps = DesiredCapabilities.CHROME.copy()
caps['browser'] = 'Chrome'
caps['browser_version'] = 'latest'
caps['os'] = 'Windows'
caps['os_version'] = '11'
caps['name'] = 'Sample Test'
url = f"https://{BROWSERSTACK_USERNAME}:{BROWSERSTACK_ACCESS_KEY}@hub-cloud.browserstack.com/wd/hub"
def get_cloud_driver():
driver = webdriver.Remote(
command_executor=url,
desired_capabilities=caps
)
return driver