web-dev-qa-db-ja.com

Chrome ChromeDriver 2.46に更新した後のバージョンは71から75のエラーでなければなりません

Chromedriverをバージョン2.46に更新した後、私の味覚が初期化に失敗します。私はこのようなメッセージを受け取りました:

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
  (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 seconds
Build info: version: '2.53.1'

私のブラウザのバージョンが有効ではないことは明らかです。しかし、私はChrome 72.0.3626.119を使用しているため、71から75の間です。Seleniumのバージョンは2.53.1です。そして、testNGの助けを借りて、コンソールコマンドからテストを実行しています。

何か案が?私が見つけたアイデアはすべてSeleniumのバージョンを変更することに関するものでしたが、それはできません。

17
Suule

このエラーメッセージ...

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-7

  • Chrome 72.0.3626.119を使用しているとおっしゃっていましたが、システムとプログラム内にChrome Browserのインスタンスが複数インストールされている可能性があります。デフォルトは、バージョンがv71.xv75.xの間にないChromeブラウザにアクセスします

  • chrome = 67.0を使用しています

  • ChromeDriver v2.38 のリリースノートでは、次のことが明確に述べられています。

サポートChrome v65-67


解決

4
DebanjanB

私がこの問題を解決するには:

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 &

これが何らかの形でお役に立てば幸いです。

11
jissay

私の場合、chromeがバージョン76に更新された後に同じエラーが発生しました。これは、chimpchromedriverを使用して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>

chromeドライバーをnpmで(グローバルとローカルの両方で)更新したとき、私はそれが機能しませんでした。次に、これらの手順に従って問題を解決しました。この種の問題:

  1. node_modules\chimp\dist\lib\utils\fiberize.jsで例外がスローされたので、そのファイルに移動して、このファイルの1レベル上のnode_modules\chimp\dist\lib\chromedriver.jsを見つけました。このファイルには、chromedriverを起動するコードが含まれています。
  2. 以下に表示されるchromedriverPathにconsole.logを追加し、コンソールログでchromedriverパスを取得するためにテストを再実行しました。
 
 Chromedriver.prototype.start = function(callback){
 var self = this; 
 var port = self.options.port; 
 
 if(this.child){
 callback(); 
 return; 
} 
 
 var chromedriverPath = chromedriver.path ; 
 
 //これが追加されましたchromeドライブパス
 console.log( "[chimp]" + chromedriverPath) ; 
 
 if(fs.existsSync(chromedriverPath)){
 this.child = processHelper.start(
 {
 bin:chromedriverPath、
プレフィックス: "chromedriver"、
 args:["--port =" + port、 "--url-base = wd/hub"]、
 waitForMessage:/ Starting ChromeDriver /,
 errorMessage:/Error/
}、
 callback 
); 
} els e {
 callback( "[chimp] [chromedriver] Chromedriver実行ファイルが見つかりません。"); 
} 
}; 
  1. テストの実行に使用されるchromedriverのパスを取得したら、そのフォルダーに移動し、chromedriver実行可能ファイルを最新バージョンに置き換えました。

これがお役に立てば幸いです。

1
Salih Igde

私にとっては、プロジェクトのchromeドライバーをローカルマシンのChromeのバージョンに一致するように更新する必要がありました。

糸は[email protected] -Dを追加します

https://www.npmjs.com/package/chromedriver

1
C_Sutt

これを試してください:Chromeブラウザの更新バージョンに対応する互換性のあるChromeDriver.exeファイルをダウンロードして、置き換えてください。

0
Suvra Nandi