Транспортир использует старую версию webdriver, а последняя установлена ​​в системе

Я работаю с транспортиром для запуска теста end-2-end для моего приложения. Когда я пытаюсь запустить приложение, я получаю следующую ошибку

[16:17:53] E/local - Error code: 135
[16:17:53] E/local - Error message: Could not find chromedriver at C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26
[16:17:53] E/local - Error: Could not find chromedriver at C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26

Я не знаю, почему он ищет версию 2.26, когда я запускаю команду

webdriver-manager --version

это дает мне версию 2.32. Я также обновил его (локально и глобально) снова, запустив

webdriver-manager update -g --versions.chrome=2.32

но это не похоже на работу. Я также проверил вручную, что exe-версия webdriver с версией 2.32 доступна в месте, указанном по ошибке, т.е. C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26,

Также, когда я пытаюсь обновить webdriver-manager следующей командой, я помещаю webdriver-manager exe с версией 2.26 в указанное место. Я не знаю, читает ли он это из некоторого конфига или откуда-то еще, потому что я не могу найти его. Нужна помощь в том, как избавиться от этой версии 2.26 и как заставить транспортир работать с последней версией (т.е. 2.32).

2 ответа

Решение

Я не смог исправить эту проблему с помощью обновления webdriver-manager или npm install/update, но нашел решение для этого. Я вручную загрузил версию chromedriver 2.32. Переименовал файл .exe в chromedriver_2.26.exe, а затем заменил его на C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26, и он работал правильно.

Я обнаружил, что версии ChromeDriver, используемые Webdriver-менеджером Protractor, всегда слишком сильно отстают от моих потребностей.

Решение, которое я нашел для этого:

  1. Загрузите Selenium Server Standalone
  2. Загрузите нужную версию ChromeDriver.
  3. Затем вы создадите файл .bat со следующим:

    java -Dwebdriver.chrome.driver = C: \ path_to_your_files \ chromedriver -jar C: \ path_to_your_files \ selenium-server-standalone-3.4.0.jar -port 4444

Затем вы можете просто дважды щелкнуть файл .bat и запустить сервер Selenium с любой версией ChromeDriver. Надеюсь это поможет!

Я столкнулся с аналогичной проблемой, когда обновил ChromeDriver с 75 до 79. Несмотря на то, что "обновление webdriver-manager --versions.chrome=79..." действительно поместило последний exe в корневую папку \node_modules\webdriver-manager\selenium, Protractor все еще оставался ковырял старую версию.

Для меня проблема была решена, когда я вручную поместил последнюю версию ChromeDriver в корневую папку \node_modules\protractor\node_modules\webdriver-manager\selenium, а также обновил update-config.json, расположенный в той же папке.

Другие вопросы по тегам