Задать вопрос
@puzzle_test

Как настройка параллельный запуск автотестов на 2-х андроид устройствах?

Пытаюсь настроить параллельные автотесты приложения на нескольких андроид устройствах.

Для каждого из устройств создал json файл вида:

{ "capabilities":
[
{
"deviceName": "LGM700dcbaf29c",
"version":"8.1.0",
"maxInstances": 10,
"platform":"ANDROID"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"127.0.0.1:4723/wd/hub",
"host": "127.0.0.1",
"port": 4723,
"maxSession": 10,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": "127.0.0.1"
}
}
Запускаю хаб, и отдельные инстансы Аппиума командой вида appium -a 127.0.0.1 -p 4723 -bp 2253 -U LGM700dcbaf29c --nodeconfig /home/test/LGM700dcbaf29c.json

В Environment.py прописал следующее:

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

def before_feature(context, feature):
caps = DesiredCapabilities.ANDROID.copy()
caps["app"] = WD + "/apps/" + AppName
caps["appPackage"] = "ru.messenger.android"
caps["appActivity"] = "ru.messenger.android.activity.main.StartActivity"
caps["newCommandTimeout"] = "1000"
context.driver = webdriver.Remote(
command_executor="127.0.0.1:4444/wd/hub",
desired_capabilities=caps
)
Но тут появляется проблема. DesiredCapabilities.ANDROID отдает только {'browserName': 'android', 'version': '', 'platform': 'ANDROID'}. Мне же для подключения еще нужен deviceName. В интернете советуют добавлять deviceName в caps вручную, так же как добавляются и остальные параметры, но тогда как запустить тест на двух устройствах, если вручную прописан deviceName одного из них. Я думал что можно каким-то образом вытаскивать deviceName из json файла который я указываю при запуске инстанса, но DesiredCapabilities.ANDROID.copy() видимо мне в этом не поможет. Я должен каким-то образом указать перечень deviceName и сделать так. чтобы запущенный тест дергал нужное имя. Есть какой-то вариант?
  • Вопрос задан
  • 161 просмотр
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы