Appium запуск теста на нескольких устройствах

Я использую несколько одинаковых реальных телефонов для запуска теста (Xiaomi redmi 6a) У меня два одинаковых Java класса в которых описано поведение для каждого устройства. Эти два класса в процессе работы создают новый объект InitDriver и передают в его конструктор DEVICE_NAME и PORT в свою очередь InitDriver мне возвращает сам driver и cap appium в классы в которых описано поведение

Также у меня запущено два appium сервера на разных портах 127.0.0.1:port.

Вот сам код: Вызов InitDriver в main -

InitDriver = new InitDriver("3c58963c7d2b", "4723");
driver = (AndroidDriver) InitDriver.getDriver();
cap = (DesiredCapabilities) InitDriver.getCap();

Вот сам InitDriver:

    public class InitDriver {
        AndroidDriver driver;
        DesiredCapabilities cap;
    
        InitDriver(String deviceName, String devicePort) {
            try {
                cap = new DesiredCapabilities();
                cap.setCapability(MobileCapabilityType.DEVICE_NAME, deviceName);
                cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); //platformName
                cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "9"); //platformVersion
                cap.setCapability("noReset", "true");
                cap.setCapability("fullReset", "false");
                cap.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS,true);
                driver = new AndroidDriver(new URL("http://127.0.0.1:"+devicePort+"/wd/hub"), cap);
            }catch (Exception e) {
                System.out.println("Ошибка при инициализации драйвера");
                System.out.println(e.getMessage());
            }
        }

...............................

Я столкнулся с проблемой,

  1. Я не могу запустить сразу два устройства.
  2. Я всегда считал что DEVICE NAME служит для идентификации устройства но Appium берет любое устройство которое посчитает нужным, а в DEVICE NAME можно указать что угодно.
  3. При запуске одного сценария он работает, но не факт что запустится нужное мне устройство
  4. При запуске сразу двух сценариев не работает ни один из них.

Как я могу запустить appium test на двух устройствах? Спасибо большое!


Ответы (0 шт):