Как создать экземпляр драйвера Appium на основе платформы?

Я новичок в автоматическом тестировании. Я пытаюсь написать общий тестовый проект для своего приложения для Android и iOS. Оба приложения на ios и android имеют почти одинаковый интерфейс и последовательность операций. Я хочу знать, как создать экземпляр драйвера Appium для платформы. На данный момент я думаю иметь логическую переменную isAndroid, которую мне пришлось бы вручную изменить в коде перед запуском тестов. На основе isAndroid я создаю экземпляр AppiumDriver для AndroidDriver или IOSDriver, и элементы будут расположены в соответствии с @AndroidFindby или @IOSFindBy Когда я запускаю Appium с терминала, я упоминаю параметр platformName, есть ли способ получить эту информацию в моем коде, чтобы мне не приходилось вручную изменять переменную isAndroid, и точно такой же тестовый код запускается на обе платформы.


person Anurag Shukla    schedule 13.05.2017    source источник


Ответы (1)


Можете ли вы попробовать одну платформу, поймать исключение, а затем попробовать другую?

try:
    driver = webdriver.Remote('http://localhost:4723/wd/hub', ios_caps)
    run_iOS_tests(driver)
except selenium.common.exceptions.WebDriverException:
    driver = webdriver.Remote('http://localhost:4723/wd/hub', android_caps)
    run_android_tests(driver)

В противном случае вам нужно будет использовать какой-либо внешний метод, чтобы узнать, какие устройства подключены (android, iOS).

person import random    schedule 16.05.2017