webdriver.io начало работы - Ошибка при создании сеанса со службой драйвера
Я пробовал установить конфигурации по умолчанию через
npx wdio config
как услуга
selenium-standalone
и после этого не сработало,
chromedriver
как услуга. Это команды, которые я выполняю.
npm init -y
npm install @wdio/cli -y
npx wdio config
npx wdio run wdio.conf.js
Вывод ошибок журнала консоли.
Failed to connect to selenium. Attempts left: 25
connect ECONNREFUSED 127.0.0.1:4444
2021-12-01T09:07:24.127Z INFO @wdio/cli:launcher: Run onWorkerStart hook
2021-12-01T09:07:24.129Z INFO @wdio/local-runner: Start worker 0-0 with arg: run,wdio.conf.js
[0-0] 2021-12-01T09:07:24.703Z INFO @wdio/local-runner: Run worker command: run
[0-0] RUNNING in chrome - D:\_code\Node\webdriverio\test\specs\example.e2e.js
[0-0] 2021-12-01T09:07:25.248Z INFO webdriver: Initiate new session using the WebDriver protocol
[0-0] 2021-12-01T09:07:25.253Z INFO webdriver: [POST] http://localhost:4444/wd/hub/session
[0-0] 2021-12-01T09:07:25.253Z INFO webdriver: DATA {
[0-0] capabilities: {
[0-0] alwaysMatch: { browserName: 'chrome', acceptInsecureCerts: true },
[0-0] firstMatch: [ {} ]
[0-0] },
[0-0] desiredCapabilities: { browserName: 'chrome', acceptInsecureCerts: true }
[0-0] }
[0-0] 2021-12-01T09:07:27.287Z WARN webdriver: Request failed with status 500 due to Could not start a new session. Error while creating session with the driver service. Stopping drive
r service: Driver server process died prematurely.
Я ожидал, что он просто выйдет из коробки, но все, что я получаю, - это ошибки службы / драйвера.
У меня Windows 10, установлен OpenJDK 17.0.1, он включен
path
и
JAVA_HOME
установлен.
Я вижу веб-водителей в
<project>\node_modules\selenium-standalone
.
Я отключил брандмауэр и антивирус, но это не виноват.
Я подумал, может быть, селен-сервер не работает, хотя ожидал, что wdio с этим справится. Итак, я попробовал кое-что с
webdriver-manager
.
Когда я бегу
webdriver-manager start
, Я могу перейти по адресу http: // localhost: 4444 / wd / hub и создать сеанс вручную, который завершится ошибкой с этим сообщением (также обратите внимание на неправильную системную дату 2018).
UnknownError: Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'WINBLOWZ', ip: '192.168.0.242', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.1'
Driver info: driver.version: unknown
Итак, сначала попробуйте, пока плохой опыт. Любые предложения приветствуются.
1 ответ
Чтобы webdriver.io работал, ему нужны 3 вещи, и я буду использовать Chrome в качестве примера.
- На вашем компьютере должен быть установлен браузер Chrome .
- Вам нужно установить хром веб-драйвер . Насколько я понимаю, это API, который разговаривает с браузером.
- Версии установленного браузера Chrome и версия chrome webdriver должны совпадать.
Чтобы узнать номер версии вашего браузера хром, зайдите в help/about и посмотрите, в моем случае это была версия 96.
Чтобы установить веб-драйвер для версии 96, выполните одну из этих команд.
npm install chromedriver --chromedriver_version=96
npm install chromedriver --chromedriver_version=96.0.4664.110
npm install chromedriver --detect_chromedriver_version // check your browser version, never tried this one though.
После этой команды chrome webdriver будет добавлен в node_modules, и он должен работать, за исключением случаев, когда у вас возникла та же проблема, что и у меня.
Я установил неправильную версию веб-драйвера для своего браузера. После того, как я узнал об этом, я установил правильную версию, но она все еще не работала (если я правильно помню), поэтому мне нужно было очистить старую версию chromedriver.
Я полагаю, вы можете просто удалить все node_modules и снова установить npm, или вы можете удалить веб-драйверы, как я думаю.
npm remove chromedriver --chromedriver
npm remove chromedriver --chromedriver_version=96
Я также помню, как возился с этим инструментом на случай, если предыдущие вещи не сработали.
npm install webdriver-manager
webdriver-manager clean
webdriver-manager update
webdriver-manager start