Я пытаюсь создать простую ферму устройств (пока что расставим приоритеты для Android) с помощью Selenium Grid и Appium (v1.13.0), и мне нужна помощь с тестовыми очередями для Appium.
Например, яна хабе 2 узла Appium (работающих с 2 эмуляторами андроида), я хочу, чтобы тестовые запуски стояли в очереди для узла, если есть 2 тестовых прогона, указывающих на узел, то при последующем тестовом прогоне придется ждать первогоодин, чтобы закончить, прежде чем начать на этом узле.
В настоящее время, с моей настройкой, последующий тестовый запуск будет прерывать первый (принудительное завершение) вместо ожидания.
Ниже приведен мой файл json дляузел, другой узел будет иметь разные deviceName
и port
{
"capabilities":
[
{
"browserName":"Nexus 5X",
"platform":"Android",
"version":"9",
"maxInstances":1,
"deviceName":"Nexus 5X"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy":"org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession":1,
"url":"http://127.0.0.1:4741/wd/hub",
"host":"127.0.0.1",
"port":4741,
"register":true,
"registerCycle":5000,
"hubPort":4444,
"hubHost":"127.0.0.1"
}
}
Насколько я понимаю, Selenium Grid поддерживает организацию очередей сеансов, но Appium не поддерживает (или не знаю, о чем я знал).Когда я пытаюсь запустить другой сеанс Appium в том же узле, сеанс действительно должен дождаться закрытия предыдущего сеанса Appium, прежде чем начинать.Итак, чтобы достичь того, чего я хочу, у меня должно быть что-то посередине, чтобы запустить сеанс Appium на узле, когда запускается тестовый запуск, и закрывать его, когда заканчивается запуск теста.
Есть ли более простой способ сделатьэто?Или есть конфигурация Appium, поддерживающая это, о которой я не знаю?