テスト環境
概要
Nightwatchは、大規模プロジェクトの設定の構造を改善するために`テスト環境`を提供しています。
`test_settings`辞書の下に複数のセクション(環境)を定義することで、環境ごとに特定の値を上書きできます。
`default`環境が必要です。他のすべての環境はdefaultから継承し、必要に応じて設定を上書きできます。
環境は、すべての基本設定と「default」環境で定義されたすべての設定を継承します。
例
以下の例では、2つの環境があります
- `default` (常に必須)
integration
nightwatch.json
{
"src_folders": ["./tests"],
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"globals" : {
"myGlobalVar" : "some value",
"otherGlobal" : "some other value"
}
},
"integration" : {
"launch_url" : "http://staging.host",
"globals" : {
"myGlobalVar" : "other value"
}
}
}
}
使用方法
テスト環境は、コマンドラインテストランナーで`--env`引数として、そのキーで参照できます。
nightwatch --env integration
これは、ローカルマシンと継続的インテグレーションサーバーで異なる設定が必要な場合に役立ちます。
組み込み環境
Nightwatchによって自動生成される設定ファイル(`nightwatch.conf.js`)には、いくつかのブラウザ(Firefox、Chrome、Edge、Safari)に対してテストを実行するための、またSelenium Serverや一般的なクラウドテストプロバイダであるBrowserstackとSaucelabsを使用してテストを実行するための、定義済みのテスト環境がいくつか含まれています。
Githubのnightwatch-examplesプロジェクトの一部として利用可能な`nightwatch.conf.js`設定ファイルからの抜粋を以下に示します。
github.com/nightwatchjs/nightwatch-examples/.../nightwatch.conf.js
module.exports = {
src_folders: ['tests'],
test_settings: {
default: {
webdriver: {
start_process: true,
server_path: ''
}
},
safari: {
desiredCapabilities : {
browserName : 'safari',
alwaysMatch: {
acceptInsecureCerts: false
}
},
webdriver: {
port: 4445
}
},
firefox: {
desiredCapabilities : {
browserName : 'firefox'
},
webdriver: {
start_process: true,
port: 4444
}
}
}
}