組態
Nightwatch 如此強大的主要原因是它的優秀配置檔案。與大多數其他測試框架不同,Nightwatch 完全可配置,可根據不同的環境和技術堆疊進行定製。
.meteor / nightwatch.json
以下配置檔案適用於 Meteor v1.3 及更高版本,並支援兩種環境…啟動 chromedriver 瀏覽器的 default
環境,以及在無頭環境中執行測試的 phantom
環境。
{
"nightwatch": {
"version": "0.9.8"
},
"src_folders": [
"./tests/nightwatch/walkthroughs"
],
"custom_commands_path": [
"./tests/nightwatch/commands"
],
"custom_assertions_path": [
"./tests/nightwatch/assertions"
],
"output_folder": "./tests/nightwatch/reports",
"page_objects_path": "./tests/nightwatch/pages",
"globals_path": "./tests/nightwatch/globals.json",
"selenium": {
"start_process": true,
"server_path": "./node_modules/starrynight/node_modules/selenium-server-standalone-jar/jar/selenium-server-standalone-2.45.0.jar",
"log_path": "tests/nightwatch/logs",
"host": "127.0.0.1",
"port": 4444,
"cli_args": {
"webdriver.chrome.driver": "./node_modules/starrynight/node_modules/chromedriver/bin/chromedriver"
}
},
"test_settings": {
"default": {
"launch_url": "http://localhost:5000",
"selenium_host": "127.0.0.1",
"selenium_port": 4444,
"pathname": "/wd/hub",
"silent": true,
"disable_colors": false,
"firefox_profile": false,
"ie_driver": "",
"screenshots": {
"enabled": false,
"path": "./tests/nightwatch/screenshots"
},
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true,
"loggingPrefs": {
"browser": "ALL"
}
},
"exclude": "./tests/nightwatch/unittests/*",
"persist_globals": true,
"detailed_output": false
},
"phantom": {
"desiredCapabilities": {
"browserName": "phantomjs",
"javascriptEnabled": true,
"databaseEnabled": false,
"locationContextEnabled": false,
"applicationCacheEnabled": false,
"browserConnectionEnabled": false,
"webStorageEnabled": false,
"acceptSslCerts": true,
"rotatable": false,
"nativeEvents": false,
"phantomjs.binary.path": "./node_modules/starrynight/node_modules/phantomjs-prebuilt/bin/phantomjs"
}
},
"unittests": {
"selenium": {
"start_process": false,
"start_session": false
},
"filter": "./tests/nightwatch/unittests/*",
"exclude": ""
}
}
}