参考エントリ
概要とかもろもろはこのエントリが詳しい。サンプル動かすまでは簡単。
デフォルトはFirefox、Chromeでも動かしたい
Nightwatch.js
のデフォルトのブラウザはFirefox。
Chromeで動かしたいなーと思って調べたところ、最近のアップデートで動かせるようになったらしいので試してみた。
※
nightwatch.js
のリポジトリがアップデートされてるので、↑のエントリが書かれたときにcloneとかした人は最新のソースを落としてきてください。
1. サンプルのテストを動かす
参考エントリのサンプルテスト実行あたりまでやる。
※
アップデートされてnightwatch/examples/tests
フォルダにdigg.js
ていうテストのサンプルが追加されていて、このテスト通すのにFacebookのアカウント設定(fbcredentials.json
)の記述が必要ぽくてめんどくさいので削除するか別のフォルダに移動させましょう。
2. ChromeのDriverをダウンロードする
chromedriver.storage.googleapis.com
↑から最新バージョンの自分の動作環境にあったchromedriver_***nn.zip
をダウンロードします。
ダウンロードしたファイルを解凍してchromedriver
をnightwatch/bin
フォルダあたりに入れます。
(あとでこのパスを設定ファイルで指定するのでわかりやすいパスに置くとよいです)
3. settings.jsonを編集する
nightwatch/bin
フォルダにあるsettings.json
を編集します。
3-1. selenium-serverのパスを指定する
"selenium" : {
の部分の"server_path" :
にselenium-server-standalone-{VERSION}.jar
のパスを指定します。
- 例) versionが2.39.0の場合
…
"selenium" : {
"start_process" : true,
"server_path" : "/path/to/selenium-server-standalone-2.39.0.jar",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444
},
…
フルパスで書いておけば間違いないです。
3-2. chromedriverのパスを指定する
__2.__のところでダウンロードしたchromedriver
のパスを"test_settings" :
部分の"chrome_driver" :
に指定します。
- 例 nightwatch/binに置いた場合
…
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"selenium_host" : "127.0.0.1",
"selenium_port" : 4444,
"silent" : true,
"output" : true,
"firefox_profile" : false,
"chrome_driver" : "/path/to/nightwatch/bin/chromedriver",
"screenshots" : {
"enabled" : false,
"path" : ""
},
…
3-3. browserNameをchromeに変更する
"desiredCapabilities" :
の"browserName" :
をchrome
に変更します。
…
"desiredCapabilities" : {
"browserName" : "chrome",
"javascriptEnabled" : true,
"acceptSslCerts" : true
}
…
settings.json
の編集はここまでです。
4. テストを実行してみる
$ ./bin/nightwatch
実行すると…
Chromeが立ち上がってテストが実行される!わいわい!
おわり
テスト見てるだけでたのしい٩(๑❛ᴗ❛๑)۶