def setUp(self): ## ## IMPORTANT: Set the following parameters. ## bitbar_url = os.environ.get('BITBAR_URL') or "https://cloud.bitbar.com" appium_url = os.environ.get('BITBAR_APPIUM_URL') or 'https://appium.bitbar.com/wd/hub' bitbar_apiKey = os.environ.get('BITBAR_APIKEY') or "" bitbar_project_name = os.environ.get('BITBAR_PROJECT') or "iOS sample project" bitbar_testrun_name = os.environ.get('BITBAR_TESTRUN') or "My testrun" bitbar_app = os.environ.get('BITBAR_APP') or "" bitbar_bundle_id = os.environ.get('BITBAR_BUNDLE_ID') or "com.bitbar.testdroid.BitbarIOSSample" new_command_timeout = os.environ.get('BITBAR_CMD_TIMEOUT') or '60' bitbar_test_timeout = os.environ.get('BITBAR_TEST_TIMEOUT') or '600' bitbar_find_device = os.environ.get('BITBAR_FINDDEVICE') or True automation_name = os.environ.get('BITBAR_AUTOMATION_NAME') or "XCUITest" self.screenshot_dir = os.environ.get('BITBAR_SCREENSHOTS') or os.getcwd() + "/screenshots" # Options to select device # 1) Set environment variable BITBAR_DEVICE # 2) Set device name to this python script # 3) Do not set #1 and #2 and let DeviceFinder to find free device for you bitbar_device = os.environ.get('BITBAR_DEVICE') or "" deviceFinder = DeviceFinder(url=bitbar_url) if bitbar_device == "": # Loop will not exit until free device is found while bitbar_device == "": bitbar_device = deviceFinder.available_ios_device() print("Starting Appium test using device '%s'" % bitbar_device) self.utils = BitbarUtils(self.screenshot_dir) self.utils.log("Will save screenshots at: " + self.screenshot_dir) desired_capabilities_cloud = {} desired_capabilities_cloud['bitbar_apiKey'] = bitbar_apiKey desired_capabilities_cloud['bitbar_target'] = 'ios' desired_capabilities_cloud['bitbar_project'] = bitbar_project_name desired_capabilities_cloud['bitbar_testrun'] = bitbar_testrun_name desired_capabilities_cloud['bitbar_device'] = bitbar_device desired_capabilities_cloud['bitbar_app'] = bitbar_app desired_capabilities_cloud['platformName'] = 'iOS' desired_capabilities_cloud['deviceName'] = 'iPhone device' desired_capabilities_cloud['newCommandTimeout'] = new_command_timeout desired_capabilities_cloud['bitbar_testTimeout'] = bitbar_test_timeout desired_capabilities_cloud['bitbar_findDevice'] = bitbar_find_device desired_capabilities_cloud['automationName'] = automation_name desired_capabilities_cloud['bundleId'] = bitbar_bundle_id # set up webdriver self.utils.log("WebDriver request initiated. Waiting for response, this typically takes 2-3 mins") self.driver = webdriver.Remote(command_executor=appium_url, desired_capabilities=desired_capabilities_cloud) self.utils.update_driver(self.driver) self.utils.log("WebDriver response received")
def setUp(self): # # IMPORTANT: Set the following parameters. # bitbar_url = os.environ.get('BITBAR_URL') or "https://cloud.bitbar.com" appium_url = os.environ.get('BITBAR_APPIUM_URL') or 'https://appium.bitbar.com/wd/hub' bitbar_apiKey = os.environ.get('BITBAR_APIKEY') or "" bitbar_project_name = os.environ.get('BITBAR_PROJECT') or "Safari sample project" bitbar_testrun_name = os.environ.get('BITBAR_TESTRUN') or "My testrun" new_command_timeout = os.environ.get('BITBAR_CMD_TIMEOUT') or '60' bitbar_test_timeout = os.environ.get('BITBAR_TEST_TIMEOUT') or '600' bitbar_find_device = os.environ.get('BITBAR_FINDDEVICE') or "true" automation_name = os.environ.get('BITBAR_AUTOMATION_NAME') or "XCUITest" self.screenshot_dir = os.environ.get('BITBAR_SCREENSHOTS') or os.getcwd() + "/screenshots" self.screenshot_count = 1 # Options to select device # 1) Set environment variable BITBAR_DEVICE # 2) Set device name to this python script # 3) Do not set #1 and #2 and let DeviceFinder find a free device bitbar_device = os.environ.get('BITBAR_DEVICE') or "" deviceFinder = DeviceFinder(url=bitbar_url) while bitbar_device == "": bitbar_device = deviceFinder.available_ios_device() print("Starting Appium test using device '%s'" % bitbar_device) self.utils = BitbarUtils(self.screenshot_dir) self.utils.log("Will save screenshots at: " + self.screenshot_dir) desired_capabilities_cloud = {} desired_capabilities_cloud['bitbar_apiKey'] = bitbar_apiKey desired_capabilities_cloud['bitbar_target'] = 'safari' desired_capabilities_cloud['bitbar_project'] = bitbar_project_name desired_capabilities_cloud['bitbar_testrun'] = bitbar_testrun_name desired_capabilities_cloud['bitbar_device'] = bitbar_device desired_capabilities_cloud['platformName'] = 'iOS' desired_capabilities_cloud['deviceName'] = 'iOS Device' desired_capabilities_cloud['browserName'] = 'Safari' desired_capabilities_cloud['newCommandTimeout'] = new_command_timeout desired_capabilities_cloud['bitbar_testTimeout'] = bitbar_test_timeout desired_capabilities_cloud['bitbar_findDevice'] = bitbar_find_device desired_capabilities_cloud['automationName'] = automation_name # Set up webdriver self.utils.log("WebDriver request initiated. Waiting for response, this typically takes 2-3 mins") self.driver = webdriver.Remote(appium_url, desired_capabilities_cloud) self.utils.update_driver(self.driver) self.utils.wait_until_xpath_matches('//*[contains(., "Automation for Apps")]') test_url = "https://bitbar.github.io/web-testing-target/" self.utils.log("Loading page " + test_url) self.driver.get(test_url)
def setUp(self): # # IMPORTANT: Set the following parameters. # You can set the parameters outside the script with environment # variables. # If env var is not set the string after or is used. # bitbar_url = os.environ.get('BITBAR_URL') or \ "https://cloud.bitbar.com" appium_url = os.environ.get('BITBAR_APPIUM_URL') or \ 'https://appium.bitbar.com/wd/hub' bitbar_apiKey = os.environ.get('BITBAR_APIKEY') or "" bitbar_project_name = os.environ.get('BITBAR_PROJECT') or \ "Android sample project" bitbar_testrun_name = os.environ.get('BITBAR_TESTRUN') or \ "My testrun" bitbar_app = os.environ.get('BITBAR_APP') or "" app_package = os.environ.get('BITBAR_APP_PACKAGE') or \ 'com.bitbar.testdroid' app_activity = os.environ.get('BITBAR_ACTIVITY') or \ '.BitbarSampleApplicationActivity' new_command_timeout = os.environ.get('BITBAR_CMD_TIMEOUT') or '60' bitbar_test_timeout = os.environ.get('BITBAR_TEST_TIMEOUT') or '600' bitbar_find_device = os.environ.get('BITBAR_FINDDEVICE') or True self.screenshot_dir = os.environ.get('BITBAR_SCREENSHOTS') or \ os.getcwd() + "/screenshots" self.screenshot_count = 1 # Options to select device # 1) Set environment variable BITBAR_DEVICE # 2) Set device name to this python script # 3) Do not set #1 and #2 and let DeviceFinder to find free device for # you bitbar_device = os.environ.get('BITBAR_DEVICE') or "" deviceFinder = DeviceFinder(url=bitbar_url) # Loop will not exit until free device is found while bitbar_device == "": bitbar_device = deviceFinder.available_android_device() if "localhost" in appium_url: self.api_level = subprocess.check_output( ["adb", "shell", "getprop ro.build.version.sdk"]) else: self.api_level = deviceFinder.device_API_level(bitbar_device) self.utils = BitbarUtils(self.screenshot_dir) self.utils.log("Will save screenshots at: " + self.screenshot_dir) self.utils.log("Device API level is %s" % self.api_level) self.utils.log("Starting Appium test using device '%s'" % bitbar_device) desired_capabilities_cloud = {} desired_capabilities_cloud['bitbar_apiKey'] = bitbar_apiKey desired_capabilities_cloud['bitbar_target'] = 'android' desired_capabilities_cloud['automationName'] = 'Appium' if self.api_level <= 16: desired_capabilities_cloud['bitbar_target'] = 'selendroid' desired_capabilities_cloud['automationName'] = 'Selendroid' desired_capabilities_cloud['bitbar_project'] = bitbar_project_name desired_capabilities_cloud['bitbar_testrun'] = bitbar_testrun_name desired_capabilities_cloud['bitbar_device'] = bitbar_device desired_capabilities_cloud['bitbar_app'] = bitbar_app desired_capabilities_cloud['platformName'] = 'Android' desired_capabilities_cloud['deviceName'] = 'Android Phone' desired_capabilities_cloud['appPackage'] = app_package desired_capabilities_cloud['appActivity'] = app_activity desired_capabilities_cloud['fullReset'] = False desired_capabilities_cloud['noReset'] = True desired_capabilities_cloud['newCommandTimeout'] = new_command_timeout desired_capabilities_cloud['bitbar_testTimeout'] = bitbar_test_timeout desired_capabilities_cloud['bitbar_findDevice'] = bitbar_find_device # set up webdriver self.utils.log( "WebDriver request initiated. Waiting for response, this typically takes 2-3 mins" ) self.driver = webdriver.Remote(appium_url, desired_capabilities_cloud) self.utils.log("WebDriver response received") self.utils.update_driver(self.driver) self.utils.log("Driver session id: " + self.driver.session_id)
def setUp(self): ## ## IMPORTANT: Set the following parameters. ## You can set the parameters outside the script with environment variables. ## If env var is not set the string after 'or' is used. ## bitbar_url = os.environ.get('BITBAR_URL') or \ "https://cloud.bitbar.com" appium_url = os.environ.get('BITBAR_APPIUM_URL') or \ 'https://appium.bitbar.com/wd/hub' bitbar_apiKey = os.environ.get('BITBAR_APIKEY') or "" bitbar_project_name = os.environ.get('BITBAR_PROJECT') or \ 'Appium Chrome Demo' bitbar_testrun_name = os.environ.get('BITBAR_TESTRUN') or \ "My testrun" new_command_timeout = os.environ.get('BITBAR_CMD_TIMEOUT') or '60' bitbar_test_timeout = os.environ.get('BITBAR_TEST_TIMEOUT') or '600' bitbar_find_device = os.environ.get('BITBAR_FINDDEVICE') or "true" self.screenshot_dir = os.environ.get('BITBAR_SCREENSHOTS') or \ os.getcwd() + "/screenshots" self.screenshot_count = 1 # Options to select device # 1) Set environment variable BITBAR_DEVICE # 2) Set device name to this python script # 3) Do not set #1 and #2 and let DeviceFinder to find free device for you bitbar_device = os.environ.get('BITBAR_DEVICE') or "" deviceFinder = DeviceFinder(url=bitbar_url) if bitbar_device == "": # Loop will not exit until free device is found while bitbar_device == "": bitbar_device = deviceFinder.available_android_device() print("Starting Appium test using device '%s'" % bitbar_device) self.utils = BitbarUtils(self.screenshot_dir) self.utils.log("Will save screenshots at: " + self.screenshot_dir) desired_capabilities_cloud = {} desired_capabilities_cloud['bitbar_apiKey'] = bitbar_apiKey desired_capabilities_cloud['bitbar_target'] = 'chrome' desired_capabilities_cloud['bitbar_project'] = bitbar_project_name desired_capabilities_cloud['bitbar_testrun'] = bitbar_testrun_name desired_capabilities_cloud['bitbar_device'] = bitbar_device desired_capabilities_cloud['platformName'] = 'Android' desired_capabilities_cloud['deviceName'] = 'AndroidDevice' desired_capabilities_cloud['browserName'] = 'chrome' desired_capabilities_cloud['newCommandTimeout'] = new_command_timeout desired_capabilities_cloud['bitbar_testTimeout'] = bitbar_test_timeout desired_capabilities_cloud['bitbar_findDevice'] = bitbar_find_device # set up webdriver self.utils.log( "WebDriver request initiated. Waiting for response, this typically takes 2-3 mins" ) self.driver = webdriver.Remote(appium_url, desired_capabilities_cloud) self.utils.update_driver(self.driver) test_url = "https://bitbar.github.io/web-testing-target/" self.utils.log("Loading page " + test_url) self.driver.get(test_url)