выдает ошибку при попытке запустить Chrome с помощью Транспортира

#protractor #webdriver

#транспортир #webdriver

Вопрос:

Я пытаюсь запустить браузер через Транспортир. Я загрузил webdriver через терминал, дав webdriver-manager update команду. Загружается последняя версия chromedriver версии 74, но браузер Chrome версии 73.

Как явно установить версию WebDriver?

Я получаю следующую ошибку:

 [11:09:13] E/driverProvider - Error code: 135
[11:09:13] E/driverProvider - Error message: session not created: This version of ChromeDriver only supports Chrome version 74
[11:09:13] E/driverProvider - Error: session not created: This version of ChromeDriver only supports Chrome version 74
  (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Mac OS X 10.14.2 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.70 seconds
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'Acsahs-MBP', ip: 'fe80:0:0:0:45:3f89:2e8b:ab96%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.2', java.version: '1.8.0_191'
Driver info: driver.version: unknown
    at Local.<anonymous> (/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:69:23)
    at Generator.throw (<anonymous>)
    at rejected (/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:5:65)
    at processTicksAndRejections (internal/process/next_tick.js:81:5)
[11:09:13] E/launcher - Process exited with error code 135
  

Мой конфигурационный файл:

 exports.config = {
    seleniumaddress:'http://localhost:4444/wd/hub',
    specs:['spec.js']
};
  

Ответ №1:

это уже решено? если нет, то попробуйте это.

для моего небольшого selenium-webdriver теста я выполнил эти шаги после того, как исследовал онлайн и здесь:

  1. npm install selenium-webdriver
  2. npm install chromedriver
  3. npm install geckodriver и открытый файл library.js и npm init и запустился node library.js (исходный код ниже)
  4. Error: (node:14212) UnhandledPromiseRejectionWarning: NoSuchSessionError: invalid session id Некоторая длительная ошибка, связанная с другой версией chromedriver. итак, я проверил версию браузера Chrome вручную в браузере. это было version 73 моей ошибкой, которую я загрузил chromedriver version 74.0 .
  5. итак, перейдите к https://chromedriver.storage.googleapis.com/index.html?path=73.0.3683.68/ загрузке в соответствии с вашей операционной системой и загрузите ее в ~/Downloads .
  6. затем откройте terminal в ~/Downloads папке.
  7. затем USER@DESKTOP:~/Downloads$ unzip ~/Downloads/chromedriver_linux64.zip -d ~/Downloads вы получите необработанный chromedriver файл в ~/Downloads папке.
  8. теперь я переместил ChromeDriver 73.0.3683.68 файл в два места — usr/local/bin и usr/bin в свою систему.
  9. в chromedriver файле уже был. usr/local/bin
  10. переместить файл — USER@DESKTOP:~/Downloads$ sudo mv -f ~/Downloads/chromedriver /usr/local/bin/chromedriver и USER@DESKTOP:~/Downloads$ sudo mv -f ~/Downloads/chromedriver /usr/bin/chromedriver вы говорите, что хотите переместить файл chromedriver из первого расположения в другое означает замену любых файлов, уже находящихся в этих расположениях, на файлы с таким же именем.

  11. Последнее, что я сделал, это. закройте vscode и перезапустите его. и запустил мой код node library.js . и это сработало в браузере Chrome для меня. МНЕ ПОТРЕБОВАЛСЯ ЧАС, ЧТОБЫ ПРОСМОТРЕТЬ ОКОЛО 35-40 ПЕРЕПОЛНЕННЫХ СТЕКОМ И СЛУЧАЙНЫХ ОНЛАЙН-РЕСУРСОВ / ВОПРОСОВ-ОТВЕТОВ, НО ОНО ТОГО СТОИЛО. 🙂

ИСХОДНЫЙ КОД: LIBRARY.JS

 var webdriver = require('selenium-webdriver');

var By = webdriver.By;

var until = webdriver.until;

var driver = new webdriver.Builder().forBrowser('chrome').build();

driver.get('https://www.google.com');
  

Ответ №2:

Добавьте это как скрипт в свой файл package.json

"scripts": {
"protactorInstall": "cd ./node_modules/protractor amp;amp; npm i webdriver-manager@latest"}

используйте

npm run protactorInstall

для выполнения скрипта.

Ответ №3:

Попробуйте следующую команду из терминала, чтобы установить определенную версию

webdriver-manager update --versions.chrome 2.46

Надеюсь, это поможет вам

Комментарии:

1. Привет, это помогло. Он открыл браузер, но теперь в терминале я получаю сообщение «Спецификации не найдены».

2. Спецификации не найдены Завершено за 0,001 секунды Неполно: Спецификации не найдены [11: 40:40] I / launcher — 0 экземпляров WebDriver, которые все еще запущены [11:40:40] I / launcher — Запуск 0 экземпляров WebDriver [11: 40:40] I / launcher — Запуск 0 экземпляров WebDriver # 01 пройден

3. Технические характеристики:опишите («Введите имя функции»,function() { it (‘следует ввести имя как Acsah’,function() { browser.get(‘ angularjs.org /’ ) }); });

4. @Acsahmathew Проблема в пути спецификации. см protractortest.org/#/api-overview . Отметьте ответ как правильный, если он разрешает ваш вопрос, чтобы это помогло тем, кто сталкивается с такой же проблемой.