【问题标题】:webdriver.io getting started - Error while creating session with the driver servicewebdriver.io 入门 - 创建与驱动程序服务的会话时出错
【发布时间】:2021-12-01 09:48:14
【问题描述】:

我尝试通过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,它位于 pathJAVA_HOME 上。

我可以在<project>\node_modules\selenium-standalone 中看到网络驱动程序。

我禁用了防火墙和防病毒软件,但这不是罪魁祸首。

我想,也许 selenium 服务器没有运行,但我希望 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

所以第一次尝试,到目前为止体验不佳。欢迎提出任何建议。

【问题讨论】:

  • 确保您的驱动程序和 chrome 兼容
  • @PDHide 你是对的,必须清理一堆其他版本的 chromedriver,现在它可以工作了。
  • @progonkpa 你能解释一下你是怎么做到的吗?
  • @LőrinczPéter 我会为你制定一个答案,但已经有一段时间了,我不记得具体是怎么做的了。
  • @progonkpa 不需要,问题是 Chrome 没有更新到最新版本(97)

标签: selenium-webdriver webdriver-io wdio


【解决方案1】:

要让 webdriver.io 正常工作,它需要 3 个东西,我将以 Chrome 为例。

  • 您需要在计算机上安装 chrome 浏览器
  • 您需要安装 chrome webdriver。我的理解是,这是与浏览器对话的 API。
  • 安装的Chrome浏览器版本和chrome webdriver的版本需要一致。

要找出您的 chrome 浏览器的版本号,请转到 help/about 并查看,在我的情况下它是 96 版。

要安装版本 96 的 webdriver,请运行以下命令之一。

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 中,它应该可以工作,除非您遇到与我相同的问题。

我为我的浏览器安装了错误版本的 webdriver。在我意识到这一点之后,我安装了正确的版本,但它仍然无法工作(如果我没记错的话),所以我需要清理旧的 chromedriver 版本。

我想你可以再次删除所有 node_modules 和 npm install,或者你可以像我想的那样删除 webdrivers。

npm remove chromedriver --chromedriver
npm remove chromedriver --chromedriver_version=96

我还记得我曾经使用过这个工具,以防以前的东西不起作用。

npm install webdriver-manager
webdriver-manager clean
webdriver-manager update
webdriver-manager start

【讨论】:

    猜你喜欢
    • 2022-08-06
    • 2019-10-13
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    相关资源
    最近更新 更多