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

Запустить связку Selenoid + Edge 79.0 на новом движке Chromium

ui
windows
internet-explorer
selenoid
edge
infrastructure
java
Теги: #<Tag:0x00007fb2f8442a48> #<Tag:0x00007fb2f8442908> #<Tag:0x00007fb2f84427c8> #<Tag:0x00007fb2f8442688> #<Tag:0x00007fb2f8442458> #<Tag:0x00007fb2f8442318> #<Tag:0x00007fb2f8442160>

(Павел) #1

Привет всем! Пробую перевести группу тестов на новый Edge на движке Chromium и переиспользовать подход как работает с Internet Explorer 11.
Что делаю:

  • на Windows Server 2019 устанавливаю Edge версии 79.0
  • скачиваю msedgedriver под версию браузера (https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)
  • скачиваю Selenoid версии 1.10
  • скачиваю Selenoid-UI версии 1.9.2
  • делаю browsers.json файл, где установлена версия браузера и путь к драйверу
  • стартую Selenoid со скрипта с доп настройками (точный скрипт чуть ниже) и Seleniod-UI
  • открываю http://localhost:8080

До этого момента все хорошо, вижу красивую юайку селеноида, лимит на потоки правильно показывается, опции браузеров (в даном случае одна) тоже правильно отображается.
Но когда попробовать запустить сессию, то в логи пишется 500-я ошибка и все…

Так выглядит browsers.json:

{
  "edge": {
    "default": "79.0",
    "versions": {
    "79.0": {
        "image": ["C:\\selenium\\webdrivers\\msedgedriver_v79.exe", "--log-level=DEBUG"]
      }
    }
  }
}

Так выглядит скрипт для запуска:

C:\selenium\selenoid.exe -conf C:\selenium\browsers.json -enable-file-upload -video-output-dir C:\selenium\video\ -disable-docker -disable-queue -timeout 5m0s -limit 5 > C:\selenium\selenoid.log 2>&1

Так выглядит лог после запуска и попытки стартовать сессию:

2020/02/07 13:44:30 [-] [INIT] [Loading configuration files...]
2020/02/07 13:44:31 [-] [INIT] [Loaded configuration from C:\selenium\browsers.json]
2020/02/07 13:44:31 [-] [INIT] [Timezone: Local]
2020/02/07 13:44:31 [-] [INIT] [Listening on :4444]
2020/02/07 13:44:34 [-] [NEW_REQUEST] [unknown] [::1]
2020/02/07 13:44:34 [-] [NEW_REQUEST_ACCEPTED] [unknown] [::1]
2020/02/07 13:44:34 [1] [LOCATING_SERVICE] [edge] [79.0]
2020/02/07 13:44:34 [1] [USING_DRIVER] [edge] [79.0]
2020/02/07 13:44:34 [1] [ALLOCATING_PORT]
2020/02/07 13:44:34 [1] [ALLOCATED_PORT] [51039]
2020/02/07 13:44:34 [1] [STARTING_PROCESS] [[C:\selenium\webdrivers\msedgedriver_v79.exe --log-level=DEBUG --port=51039]]
2020/02/07 13:44:35 [1] [PROCESS_STARTED] [4824] [0.65s]
2020/02/07 13:44:35 [1] [PROXY_TO] [http://127.0.0.1:51039]
2020/02/07 13:44:35 [1] [SESSION_ATTEMPTED] [http://127.0.0.1:51039] [1]
2020/02/07 13:44:35 [1] [SESSION_FAILED] [http://127.0.0.1:51039] [500 Internal Server Error]
2020/02/07 13:44:35 [1] [TERMINATING_PROCESS] [4824]
2020/02/07 13:44:35 [1] [TERMINATED_PROCESS] [4824] [0.01s]

Также пробывал с другой машины сделать инстанс драйвера с настройками дефолтовыми, что в юай селеноида, но тоже не взлетает, просто 500 ошибка в логах:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setBrowserName("edge");
capabilities.setVersion("79.0");
capabilities.setCapability("enableVNC", true);
capabilities.setCapability("enableVideo", false);

RemoteWebDriver driver = new RemoteWebDriver(
    URI.create("http://localhost:4444/wd/hub").toURL(), 
    capabilities
);

Может кто-то пробовал уже подобное сделать и знает что-то до чего я еще не дошел?:slight_smile: Ну или же еще сырой Edge и он не хочет дружиться с Selenoid?


(Vladislav Abramov) #2

хромиум же, хромдрайвер возьмите


(Павел) #3

Можна конечно попробовать, но чуваки для Edge готовят свои драйвера, по идее надо их использовать: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/


(Vladislav Abramov) #4

вы же в курсе, что сейчас 2 эджа? один старый на движке майков, и новый на базе хромиума. Вот если берёте новый, то надо брать хромдрайвер


(asolntsev) #5

Я вообще теперь не вижу смысла гонять тесты на Edge. Зачем? Он же на движке chromium - значит, и тесты проще гонять на chromium (или chrome).


(Павел) #6

Если по сути, то да - смысла маловато. Но есть менеджмент, который просит это проверить, и хочется сделать прогон той же пачки тестов что на Chrome, но против Edge и сравнить результаты и убедиться, что так и есть.
Здесь вопрос не так про надобность или ненадобность тестить на новом движке, а больше о том что технически упираюсь в проблемы, которых вроде как не должно быть…


(asolntsev) #7

Понимаю. Но на него-то вроде уже ответили выше.


(Павел) #8

Попробовал подсунуть ему chromedriver.exe и обновил в browsers.json - та же история… на попытку сделать новую сессию только 500-я ошибка в selenoid.log файле и больше нет никакой полезной инфы…


(Vladislav Abramov) #9

ну попробуйте самое простое
запуститься локально