t.me/atinfo_chat Telegram группа по автоматизации тестирования

Проблема запуска WiniumDriver как с консоля, так и в дженкинсе

Теги: #<Tag:0x00007f9b09b33340> #<Tag:0x00007f9b09b33228>

Привет всем! Скажите кто работал с Winium. Дело в том, когда подряд запускаю тесты, будь это с IDE, будь это с Jenkins, прекращается работа Winium Driver

С чем это может быть связанно? Спасибо

Возможно я не прав! Но мне кажется что проблема именно с
логами Cruciatus.log. Провел 4 запуска тестов одних и тех же, на 5 запуск прекратилась работа Winium Driver. После того как в ручную удалил Cruciatus.log - снова 4 запуска тестов прошли.Может из-за того что не перезаписываются логи в этом файле?

Покажите код запуска самого сервера и тестируемого приложения.

Вот код запуска Winium Driver и запуск виндового калькулятора (стандарт)

options.setApplicationPath("C:\\Windows\\system32\\calc.exe");
        File driverPath = new File("C:\\Users\\Test\\.jenkins\\jobs\\Winium\\winiumDriver\\WiniumDesktopDriver.exe");
        service = new WiniumDriverService.Builder().usingDriverExecutable(driverPath).usingPort(9999).withVerbose(false).buildDesktopService();
        service.start();
        driver = new WiniumDriver(service, options);

попробуйте с true

а где вы взяли такие хорошие WiniumDriverService и WiniumDriver?

здесь

Поставил true, но опять же воспроизвелась та же ошибка

Провел 4 запуска тестов одних и тех же, на 5 запуск прекратилась работа Winium Driver. После того как в ручную удалил Cruciatus.log - снова 4 запуска тестов прошли.

Воспроизводится при повторении эксперимента раз за разом?

Я бы сказал каждые 4 повторений, в среднем

Отсутсвие стабильности не подходит для извлечения проблемы.
Но вот что возможно важно, как запускается драйвер? Видимо не как exe файл (руками, скриптом)?

Скриптом описано выше

Да, увидел что код запуска уже фигурирует, пропустил.
Вообщем запуск драйвера “руками” это адекватный способ запуска и правильный, соответсвенно. А вот этот джавовый WiniumDriverService видимо имеет бажульку, может быть связанную с версией джавы, не знаю, повод для изучения есть.

У меня вроде были проблеммы с запуском самого приложения, поэтому тесты в дебаг моде, а WiniumDriver и приложение запускаю jav-ой:

option.setApplicationPath("");
option.setDebugConnectToRunningApp(true);

По результату тестирования я и @SkylineGleb поняли одну вещь, что если использовать

WiniumDriverService.Builder().usingDriverExecutable(driverPath).usingPort(9999).withVerbose(false).buildDesktopService();

то в последующих запусках тестов будет открываться еще одно окно виниума, соответственно и возникает эта ошибка
я переделал свой код и поменял вместо этого кода

options.setApplicationPath("C:\\Windows\\system32\\calc.exe");
    File driverPath = new File("C:\\Users\\Test\\.jenkins\\jobs\\Winium\\winiumDriver\\WiniumDesktopDriver.exe");
    service = new WiniumDriverService.Builder().usingDriverExecutable(driverPath).usingPort(9999).withVerbose(false).buildDesktopService();
    service.start();
    driver = new WiniumDriver(service, options);

я поставил

DesiredCapabilities cap = new DesiredCapabilities();
    cap.setCapability("app", "C:\\Windows\\system32\\calc.exe");
    cap.setCapability("launchDelay", "2");
    WebDriver driver = new RemoteWebDriver(new URL("http://localhost:9999"), cap);

тем самым получается, что достаточно одной сессии для драйвера и не стоит убивать постоянно процесс по завершению