Как запустить тест, который требует двух устройств с помощью Appium - PullRequest
0 голосов
/ 08 ноября 2018

Я понимаю, что для управления несколькими устройствами с помощью Appium мне нужно запустить несколько серверов Appium с разными портами. Но я не могу понять, как я могу нацелить часть моих тестов на конкретное устройство, когда к хост-компьютеру подключено несколько устройств.

Я понимаю, ниже приведены две конфигурации, которые мне нужно сделать для обработки нескольких устройств, подключенных к компьютеру.

  1. настройка порта: например, 4723 в ниже инициализации веб-драйвера

    webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps_first_device)

  2. требуемые колпачки для различных устройств, например,

    wanted_caps_first_device = {'platformName': 'Android', 'platformVersion': '7.0', «имя_устройства»: «gts210velte», «appPackage»: «имя_пакета», «appActivity»: «имя-действия»}

У меня есть два устройства Android, подключенных к машине, и оба имеют одну и ту же модель (имя устройства). Я понимаю, что могу создать два экземпляра драйвера, но как Appium узнает, какой экземпляр для какого физического устройства? Другими словами, как я должен различать два устройства в коде, чтобы я знал, что часть кода будет выполняться на конкретном устройстве из двух, подключенных к машине?

Ответы [ 3 ]

0 голосов
/ 08 ноября 2018

Я обнаружил, что существует свойство под названием udid, которому можно назначить adb идентификатор устройства для целевого устройства Android, когда к хост-машине подключено несколько устройств.

, например

device_caps_first_device =  {'platformName': 'Android', 'platformVersion': '7.0', 'udid': 'xxxxxxx', 'deviceName': 'gts210velte', 'appPackage':'package_name', 'appActivity':'activity_name'}

device_caps_second_device =  {'platformName': 'Android', 'platformVersion': '7.0', 'udid': 'yyyyyyy', 'deviceName': 'gts210velte', 'appPackage':'package_name', 'appActivity':'activity_name'}

udid определяется как Уникальный идентификатор устройства подключенного физического устройства в http://appium.io/docs/en/writing-running-appium/caps/

0 голосов
/ 08 ноября 2018

Два схожих вида устройств различаются по udid.

Вот пример сценария для подключения к 1 устройству, вы можете посмотреть его и изменить в соответствии со своими потребностями для нескольких устройств.

Пример не требует пояснений.

https://automationlab0000.wordpress.com/2018/08/21/first-automation-script-using-robot-framework/

0 голосов
/ 08 ноября 2018

Используйте желаемую возможность udid с идентификатором устройства, которое необходимо сопоставить с любым сервером, который вам нравится.

Идентификатор устройства можно найти с помощью следующей команды:

$ adb devices
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...