Как мне полностью избежать webdriver-менеджера? - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь использовать транспортир для испытаний e2e в моем проекте Angular. Я ранее установил сервер Selen и chromedriver в моем пути, и он отлично работает для неугловых проектов. У меня нет доступа к googleapis или любому другому cdns, требуемому webdriver-manager.

Как я могу каким-либо образом запустить тесты транспортира без участия webdriver-manager? Я хочу использовать инструменты, которые я установил во всем мире. Это возможно?

Когда я пытаюсь запустить ng e2e, я получаю сообщение об ошибке: Error message: Could not find update-config.json. Run 'webdriver-manager update' to download binaries.

Когда я пытаюсь запустить webdriver-manager update, я получаю http 403.

В моем protractor.conf.js файле у меня есть directConnect: true иabilities.browserName: 'chrome'

Я надеялся, что при использовании directConnect он просто найдет хром-драйвер на моем пути, но это не так. В прошлом я использовал модуль selenium-webdriver npm для раскрутки экземпляра драйвера Chrome.

Ответы [ 3 ]

0 голосов
/ 18 ноября 2018

Загрузите последнюю версию автономного сервера и хроматографа selenium из https://www.seleniumhq.org/download/

Создайте пакетный файл

java -Dselenium.LOGGER.level=WARNING -Dwebdriver.chrome.driver="C:/Program Files (x86)/Selenium/WebDrivers/ChromeDrivers/2.38/chromedriver.exe" -jar selenium-server-standalone-3.4.0.jar -port 4444

укажите порт, местоположение Chromedriver и уровень журнала.

Просто запустите пакетный файл, и теперь у вас запущен сервер селена.

В вашем конфигурационном файле укажите адрес Selenium 127.0.0.1:4444 или localhost

0 голосов
/ 19 ноября 2018

вы можете использовать опцию ng cli: webdriver-update, чтобы не выполнять обновление веб-драйвера следующим образом:

ng e2e --webdriver-update=false

Но ng e2e использует веб-драйвер в локальном пакете, а неглобальный пакет, я думаю, вам нужен скрипт npm для копирования предварительно подготовленного веб-драйвера для проецирования локального пакета перед выполнением ng e2e --webdriver-update=false

0 голосов
/ 17 ноября 2018

Я думаю, что лучший способ - использовать сетку селена ( Dockerized Selenium или сетка на основе банок . Другой вариант -

directConnect: true 

в вашем конфигурационном файле транспортира.

...