ChromeDriver
概要
ChromeDriverを使用してChromeでNightwatch.jsテストを実行します。
このガイドでは、以下について学習します。
- ChromeDriverのダウンロード
- サポートされているChrome機能
- サポートされているChrome設定
- DockerでChromeを使用する
ダウンロード
ステップ1. ChromeDriverのダウンロード - ダウンロードページから、お使いのプラットフォーム用の最新バージョンのChromeDriverをダウンロードしてください。
ステップ2. パスの設定 - nightwatch.json
ファイルのwebdriver
オブジェクトの下に、ChromeDriverバイナリの場所を次のように設定します。
"webdriver" : {
"server_path" : "/path/to/chromedriver"
}
サポートされているChrome機能
次の表は、Chrome固有のすべての必要な機能の一覧を示しています。これらはすべてChromeOptions辞書の下にあります。
名前 | 型 | 説明 |
---|---|---|
args |
文字列の配列 | Chromeの起動時に使用するコマンドライン引数のリスト。値が関連付けられている引数は、'='で区切る必要があります(例:["start-maximized", "user-data-dir=/tmp/temp_profile"] )。 |
binary |
文字列 | 使用するChrome実行ファイルへのパス(Mac OS Xでは、アプリではなく実際のバイナリである必要があります。例:'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome') |
extensions |
文字列の配列 | 起動時にインストールするChrome拡張機能のリスト。リスト内の各項目は、base-64でエンコードされたパックされたChrome拡張機能(.crx)である必要があります。 |
Nightwatchは、ChromeDriverが提供するすべての引数と機能をサポートしています。
これらの機能の詳細については、公式ChromeDriverドキュメントをご覧ください。
args
をnightwatch.json
ファイルのdesiredCapabilities
キーの下にあるchromeOptions
キーに渡すことができるコマンドラインスイッチのリストについては、こちらを参照できます。
"desiredCapabilities" : {
"browserName" : "chrome",
"javascriptEnabled" : true,
"acceptSslCerts" : true,
"chromeOptions" : {
"args" : ["start-fullscreen"]
}
}
サポートされているユーザー設定
args
キーを使用して設定するコマンドラインスイッチに加えて、prefs
キーを使用してChromeプロファイルの設定を渡すこともできます。
次のコードスニペットは、nightwatch.json
ファイルでブラウザのパスワードマネージャー機能を無効にする場合の設定方法を示しています。
"desiredCapabilities" : {
"browserName" : "chrome",
"javascriptEnabled" : true,
"acceptSslCerts" : true,
"chromeOptions" : {
"prefs" : {
"credentials_enable_service" : false,
"profile.password_manager_enabled" : false
}
}
}
Dockerコンテナ内で実行されているChromeの使用
テストでDockerコンテナ内で実行されているChromeインスタンスが必要な場合は、DockerコンテナからChromeバイナリにアクセスするために、--no-sandbox
値をargs
オブジェクトに追加してください。
"chromeOptions" : {
"args" : ["--no-sandbox"]
}