为了账号安全,请及时绑定邮箱和手机立即绑定

更新到 ChromeDriver 2.46 后 Chrome 版本必须介于 71 和 75

更新到 ChromeDriver 2.46 后 Chrome 版本必须介于 71 和 75

慕田峪9158850 2022-07-14 16:54:29
将 chromedriver 更新到 2.46 版后,我的 tats 无法初始化。我收到这样的消息:Starting ChromeDriver 2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) on port 44269Only local connections are allowed.Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.Failed to invoke configuration method com.personal.CustomTest.initTests not created: Chrome version must be between 71 and 75  (Driver info: chromedriver=2.46.628402,platform=Windows NT 10.0.16299 x86_64) (WARNING: The server did not provide any stacktrace information)Command duration or timeout: 1.58 secondsBuild info: version: '2.53.1'很明显,我的浏览器版本无效。但我使用的是 Chrome 72.0.3626.119,所以它介于 71 和 75 之间。Selenium 版本是 2.53.1。我在 testNG 的帮助下通过控制台命令运行测试。任何想法?我发现的每个想法都是关于更改 selenium 版本,但我做不到。
查看完整描述

3 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

让我解决这个问题:


在 Windows 上


cd C:\Users\[myname]\AppData\Roaming\npm\node_modules\protractor

npm i webdriver-manager@latest

webdriver-manager update

webdriver-manager start &

在 Cent-OS 上(我使用了 Cent-OS 7.4.*,它运行良好。)


cd /usr/lib/node_modules/protractor/

sudo npm i webdriver-manager@latest

sudo webdriver-manager update

sudo webdriver-manager start &

我希望这对你有任何帮助。


查看完整回答
反对 回复 2022-07-14
?
ibeautiful

TA贡献1993条经验 获得超5个赞

此错误消息...


Starting ChromeDriver 2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) on port 44269

Only local connections are allowed.

Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.

Failed to invoke configuration method com.personal.CustomTest.initTests not created: Chrome version must be between 71 and 75

...暗示ChromeDriver v2.46与您的程序/网络驱动程序正在访问的Chrome 浏览器版本不兼容。

您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:

  • 您正在使用chromedriver=2.46

  • chromedriver=2.46的发行说明清楚地提到了以下内容:

支持Chrome v71-73

  • 尽管您提到您使用的是Chrome 72.0.3626.119 ,但您的系统中可能安装了多个Chrome 浏览器实例,并且您的程序默认访问的Chrome 浏览器版本不在v71.xv75.x

  • 您正在使用chrome=67.0

  • ChromeDriver v2.38的发行说明清楚地提到了以下内容:

支持Chrome v65-67


解决方案


查看完整回答
反对 回复 2022-07-14
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

在我的情况下,在我的 chrome 更新到版本 76 后,我遇到了同样的错误。这是在chimp尝试使用chromedriver执行 selenium 测试时发生的。


DevTools listening on ws://127.0.0.1:49220/devtools/browser/e88586cb-ed67-44fc-a742-43b767e2b8f9

    [chimp][helper] setupBrowserAndDDP had error

    { Error: session not created: Chrome version must be between 71 and 75

        at Object.wait (C:\ACPMS\ELS_AT\node_modules\fibers\future.js:449:15)

        at Object.<anonymous> (C:\ACPMS\ELS_AT\node_modules\wdio-sync\build\index.js:344:27)

        at Object.<anonymous> (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\session-manager.js:145:21)

        at initBrowser (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\chimp-helper.js:189:43)

        at Object.setupBrowserAndDDP (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\chimp-helper.js:264:7)

        at Context.<anonymous> (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\mocha\mocha-helper.js:13:15)

        at C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\utils\fiberize.js:29:22

        (Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.17134 x86_64)

        at new RuntimeError (C:\ACPMS\ELS_AT\node_modules\webdriverio\build\lib\utils\ErrorHandler.js:143:12)

        at Request._callback (C:\ACPMS\ELS_AT\node_modules\webdriverio\build\lib\utils\RequestHandler.js:318:39)

        at Request.self.callback (C:\ACPMS\ELS_AT\node_modules\request\request.js:185:22)

        at emitTwo (events.js:106:13)

        at Request.emit (events.js:191:7)

        at Request.<anonymous> (C:\ACPMS\ELS_AT\node_modules\request\request.js:1161:10)

        at emitOne (events.js:96:13)

        at Request.emit (events.js:188:7)

        at IncomingMessage.<anonymous>

对我来说,当我通过 npm(全局和本地)更新 chrome 驱动程序时它不起作用,然后我按照以下步骤解决问题,这可能会提供一些关于在哪里检查此类问题的想法:


因为引发了异常,所以node_modules\chimp\dist\lib\utils\fiberize.js我导航到该文件并在该文件上方找到了node_modules\chimp\dist\lib\chromedriver.js具有启动 chromedriver 的代码的级别。

我在 chromedriverPath 中添加了一个 console.log,如下所示,并重新执行了测试以在控制台日志中获取 chromedriver 路径。


    Chromedriver.prototype.start = 函数(回调){

          变种自我=这个;

          var 端口 = self.options.port;


          如果(this.child){

            打回来();

            返回;

          }


          var chromedriverPath = chromedriver.path;


          //这是我添加的,看到 chrome 驱动器路径

          console.log("[黑猩猩] " + chromedriverPath);


          如果(fs.existsSync(chromedriverPath)){

            this.child = processHelper.start(

              {

                bin: chromedriverPath,

                前缀:“chromedriver”,

                参数:["--port=" + 端口,"--url-base=wd/hub"],

                waitForMessage: /Starting ChromeDriver/,

                错误消息:/错误/

              },

              打回来

            );

          } 别的 {

            callback("[chimp][chromedriver] Chromedriver 可执行文件未找到。");

          }

        };

当我获得用于执行测试的 chromedriver 的路径时,我只是导航到该文件夹并将chromedriver可执行文件替换为最新版本。

我希望这有帮助。


查看完整回答
反对 回复 2022-07-14
  • 3 回答
  • 0 关注
  • 295 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信