with ThreadPoolExecutor(max_workers=3) as executor: results = executor.map(run_test_on_browser, browsers) # config.py class BrowserStackConfig: USERNAME = "your_username" ACCESS_KEY = "your_access_key" HUB_URL = f"https://{USERNAME}:{ACCESS_KEY}@hub-cloud.browserstack.com/wd/hub" # Common capabilities PROJECT_NAME = "My Automation Project" BUILD_NAME = "Build 1.0"
print("Test completed successfully") finally: driver.quit() const webdriver = require('selenium-webdriver'); const capabilities = { 'browserName': 'Chrome', 'browserVersion': 'latest', 'os': 'Windows', 'osVersion': '10', 'name': 'Node.js Test' };
try: driver.get("https://www.google.com") print("Page title:", driver.title) app automate browserstack
driver = webdriver.Remote( command_executor='https://hub-cloud.browserstack.com/wd/hub', desired_capabilities=desired_caps ) # .env file BROWSERSTACK_USERNAME=your_username BROWSERSTACK_ACCESS_KEY=your_access_key BROWSERSTACK_HUB_URL=https://hub-cloud.browserstack.com/wd/hub # Load environment variables import os from dotenv import load_dotenv load_dotenv()
@staticmethod def get_capabilities(browser="Chrome", os="Windows", os_version="10"): return { 'browserName': browser, 'browserVersion': 'latest', 'os': os, 'osVersion': os_version, 'build': BrowserStackConfig.BUILD_NAME, 'project': BrowserStackConfig.PROJECT_NAME, 'name': f'{browser} Test on {os} {os_version}' } # Appium for mobile app testing from appium import webdriver desired_caps = { 'deviceName': 'iPhone 14 Pro', 'platformName': 'iOS', 'platformVersion': '16', 'app': 'bs://<hashed_app_id>', # Your uploaded app 'bstack:options': { 'userName': USERNAME, 'accessKey': ACCESS_KEY, 'appiumVersion': '2.0.0' } } const capabilities = { 'browserName': 'Chrome'
# Wait for results WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "search")) )
const searchBox = await driver.findElement(webdriver.By.name('q')); await searchBox.sendKeys('BrowserStack Automation'); await searchBox.submit(); console.log('Test completed'); } finally { await driver.quit(); } } 'name': 'Node.js Test' }
runTest(); import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.net.URL; public class BrowserStackTest { public WebDriver driver;