Тестирование Android в Sauce Lab с использованием селена

В настоящее время я провожу кучу тестов на селен в лаборатории соусов. Я не буду проводить свои тесты со всеми браузерами Android, но я не могу понять, как правильно указать, что мне нужно устройство Android. Я основал свой код на этом шаблоне: http://saucelabs.com/examples/example.py

Мой код:

browsers = [{"platform": "Linux",
              "device-orientation" : "portrait",
              "version": "4.4"},
              {"platform": "Linux",
              "device-orientation" : "portrait",
              "deviceName" : "LG Nexus 4 Emulator",
              "version": "4.4"},
              {"platform": "Linux",
              "device-orientation" : "portrait",
              "deviceName" : "Samsung Galaxy S3 Emulator",
              "version": "4.4"},
              {"platform": "Linux",
              "device-orientation" : "portrait",
              "deviceName" : "Samsung Galaxy Nexus Emulator",
              "version": "4.4"},
              {"platform": "Linux",
              "device-orientation" : "portrait",
              "deviceName" : "Samsung Galaxy S4 Emulator",
              "version": "4.4"}]

def on_platforms(platforms):
    def decorator(base_class):
        module = sys.modules[base_class.__module__].__dict__
        for i, platform in enumerate(platforms):
            d = dict(base_class.__dict__)
            d['desired_capabilities'] = platform
            name = "%s_%s" % (base_class.__name__, i + 1)
            module[name] = new.classobj(name, (base_class,), d)
    return decorator

@on_platforms(browsers)
class Mobile(unittest.TestCase):
    def setUp(self):
        self.desired_capabilities['name'] = self.id()

        sauce_url = "http://%s:%[email protected]:80/wd/hub"
        self.driver = webdriver.Remote(
            desired_capabilities=self.desired_capabilities,
            command_executor=sauce_url % (USERNAME, ACCESS_KEY)
        )
        self.driver.implicitly_wait(30)
        #self.driver.set_window_size(500,1000)
        self.driver.get(test_site_url)

    # selecting car insurance by click the checkbox (F1)
    def test_f1_select_one_product_by_checkmark(self):
        element_name = "//label[@for='bil']//span[1]"
        productOption = self.driver.find_element_by_xpath(element_name) 
        productOption.click()

person Niels Sønderbæk    schedule 03.12.2014    source источник


Ответы (1)


Желаемые возможности, необходимые для запуска сеанса Android, немного отличаются от перечисленных вами. Вот набор возможностей, которые будут работать для сеанса эмулятора Samsung Galaxy S4 с использованием Selenium.

caps = {'browserName': "android"}
caps['platform'] = "Linux"
caps['version'] = "4.4"
caps['deviceName'] = "Samsung Galaxy S4 Emulator"
caps['deviceOrientation'] = "portrait"

Другие конфигурации Android можно найти здесь:

https://wiki.saucelabs.com/display/DOCS/Platform+Configurator#/

person oboeCoder    schedule 18.03.2016