Nightwatch をセットアップしようとしていますが、latest chromedriverを使用しています supports chrome v52-54 。しかし、テストを実行しようとすると、'Error: Chrome version must be >=52.0.2743.'
ここに私が使用しているすべてのものがあります。
プロジェクト構造
|-- nightwatch.json
|-- bin/
| |-- chromedriver
| |-- Selenium-server-standalone-2.53.1.jar
|-- tests/
| |-- sample.js
|-- results/
|-- screens/
|-- node_modules/
| |-- (lots of modules here)
そして、ここにナイトウォッチ用の私の 設定ファイル があります:
./ nightwatch.json
{
"src_folders" : ["tests"],
"output_folder" : "results",
"custom_commands_path" : "",
"custom_assertions_path" : "",
"page_objects_path" : "",
"globals_path" : "",
"Selenium" : {
"start_process" : true,
"server_path" : "bin/Selenium-server-standalone-2.53.1.jar",
"log_path" : "results",
"Host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "bin/chromedriver"
}
},
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"Selenium_port" : 4444,
"Selenium_Host" : "localhost",
"silent": true,
"screenshots" : {
"enabled" : true,
"path" : "screens/"
},
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
},
"chrome" : {
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
}
}
}
テストの実行
次のようなテストを実行します。
nightwatch tests/
エラー
そして、私は次の出力を取得します:
Starting Selenium server... started - PID: 3500
[Sample] Test Suite
=======================
Running: Demo test Google
Error retrieving a new session from the Selenium server
Connection refused! Is Selenium server started?
{ sessionId: null,
status: 13,
state: 'unhandled error',
value:
{ message: 'unknown error: Chrome version must be >= 52.0.2743.0\n (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 3.2.0-56-generic x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 1.42 seconds\nBuild info: version: \'2.53.1\', revision: \'a36b8b1\', time: \'2016-06-30 17:37:03\'\nSystem info: Host: \'N/A\', ip: \'N/A\', os.name: \'Linux\', os.Arch: \'AMD64\', os.version: \'3.2.0-56-generic\', Java.version: \'1.7.0_111\'\nDriver info: org.openqa.Selenium.chrome.ChromeDriver',
suppressed: [],
localizedMessage: 'unknown error: Chrome version must be >= 52.0.2743.0\n (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 3.2.0-56-generic x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 1.42 seconds\nBuild info: version: \'2.53.1\', revision: \'a36b8b1\', time: \'2016-06-30 17:37:03\'\nSystem info: Host: \'N/A\', ip: \'N/A\', os.name: \'Linux\', os.Arch: \'AMD64\', os.version: \'3.2.0-56-generic\', Java.version: \'1.7.0_111\'\nDriver info: org.openqa.Selenium.chrome.ChromeDriver',
buildInformation:
{ releaseLabel: '2.53.1',
buildTime: '2016-06-30 17:37:03',
class: 'org.openqa.Selenium.internal.BuildInfo',
buildRevision: 'a36b8b1',
hCode: 1900167016 },
cause: null,
systemInformation: 'System info: Host: \'N/A\', ip: \'N/A\', os.name: \'Linux\', os.Arch: \'AMD64\', os.version: \'3.2.0-56-generic\', Java.version: \'1.7.0_111\'',
supportUrl: null,
class: 'org.openqa.Selenium.WebDriverException',
additionalInformation: '\nDriver info: org.openqa.Selenium.chrome.ChromeDriver',
hCode: 1299270263,
screen: null },
class: 'org.openqa.Selenium.remote.Response',
hCode: 1144687147 }
誰でもこのエラーを解決する方法を知っていますか?
Chrome version must be >= 52.0.2743.0
Chromedriverはchromeのローカルコピーを使用しますか?実際のクロムを更新する必要がありますか?
Chromedriverはchromeのローカルコピーを使用しますか?実際のクロムを更新する必要がありますか?
はい、 ChromeDriver
はSelenium webdriverがchromeを制御するために使用する実行可能ファイルです。
そのため、Selenium webdriverは、デフォルトの場所またはカスタムの場所からインストール済みchromeを起動し、初期化中にSelenium webdriverに指示します ChromeDriver
。
つまり、基本的に ChromeDriver
実行可能ファイルは、chromeブラウザーとSelenium Webドライバーの間で対話してそれを制御するだけで、独自のchromeを起動するわけではありません_ブラウザ。インストール済みのchromeブラウザを使用します。
そのため、実際にインストールされているクロムを更新する必要があります。
はい、ChromeDriverはローカルのChromeインストールを使用します。Chromeインストールをアップグレードしたくない場合、ChromeDriverで動作するバージョンを指定できます。インストールChromeバージョン。
https://chromedriver.storage.googleapis.com/2.25/notes.txt (「2.25」を変更)で、さまざまなChromeDriverリリースの互換性のあるChromeバージョンを見つけることができますChromeバージョンがそこにリストされているものよりも新しい場合)新しいバージョンに。
テストフレームワークがNode.js webdriver-manager
を使用している場合、(たとえば、バージョン2.20
の場合)を使用して、必要なChromeDriverバージョンをインストールできます(既にインストールされているバージョンを保持します)。
webdriver-manager update --chrome --versions.chrome=2.20
webdriver-manager
を介してSeleniumを起動するときに適切なChromeDriverバージョンを指定します。
webdriver-manager start --versions.chrome=2.20
webdriver-manager
が利用できない場合、必要なChromeDriverバージョンをダウンロードし、何らかのテクニックを使用して次のパラメーターをSeleniumサーバーの起動コマンドに渡すことができます。
-Dwebdriver.chrome.driver=/path/to/the/desired/chromedriver_version
Ubuntu 16.04を使用している場合、このコードは機能します。
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | Sudo apt-key add -
x64
Sudo sh -c 'echo "deb [Arch=AMD64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
x32
Sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
インストール/更新
Sudo apt-get update
Sudo apt-get install google-chrome-stable