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