Nightwatch.js 通过配置文件设置测试环境
Nightwatch.js set testing environment via config file
新手节点警告:如何以编程方式设置在 运行 测试时使用的配置对象?
一直在努力寻找明确的答案。
设置:
/e2e-tests
|-globals.js
|-product.page.notify.stock.js
|-nightwatch.json
|-nightwatch
- nightwatch.json = setup
- 守夜人=
#!/usr/bin/env node require('nightwatch/bin/runner.js');
- e2e-tests/globals.js 矫枉过正,不显示实现
- productpage.notify.stock.js
var SITE_URL = 'http://dev.local/', //this needs to be set somehow production||dev
AJAX_URL = 'ajaxproc/getrandomoutofstock', //relative so this doesn't need to change
select = '#mysize',
emailError = '.error-message',
outOfStockItem = {
id: false,
url: false
};
module.exports = {
'Get backorder stock url': function(browser) {
browser.url(SITEURL + AJAX_URL)
// ommitted for brevity
},
'Check notify stock on product page': function(client) {
client.url(SITE_URL + outOfStockItem.url);
// ommitted for brevity
},
// remaining test stuff - not needed
};
我seen this method here by MateuszJeziorski but omits the means to get the process arguments. The examples提供了守夜人也不要回答这个问题。
我认为命令的最终结果看起来像这样:
nightwatch -somekindofparametertosetenvironment -t e2e-tests/product.page.notify.stock
听起来您可以在 nightwatch.json 文件中获得多个环境所需的内容。
您可以在 nightwatch.json:
中设置您的测试环境
"test_settings" : {
"default" : {
"launch_url" : "some_url",
"selenium_port" : 4444,
"selenium_host" : "localhost",
"silent": true,
"screenshots" : {
"globals" : {
"site_url" : "some_site"
},
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
},
"other_environment" : {
"globals" : {
"site_url" : "some_other_site"
}
},
"one_more_environment" : {
"globals" : {
"site_url" : "one_other_site",
"other_var" : "this env needs a different variable"
}
}
}
Nightwatch 会让你通过 --env 进入一个环境。每个环境都可以有唯一的全局变量。
'default' 属性在每个环境中使用,除非它们被特别覆盖。
运行 一个特定的环境,带有像 nightwatch --env "other_environment"
这样的命令。环境将使用 nightwatch.json.
中列出的全局变量启动
除了@curtwphillips 解释的内容,您还可以使用nightwatch --config <config.file>
指定替代配置文件。
新手节点警告:如何以编程方式设置在 运行 测试时使用的配置对象?
一直在努力寻找明确的答案。
设置:
/e2e-tests
|-globals.js
|-product.page.notify.stock.js
|-nightwatch.json
|-nightwatch
- nightwatch.json = setup
- 守夜人=
#!/usr/bin/env node require('nightwatch/bin/runner.js');
- e2e-tests/globals.js 矫枉过正,不显示实现
- productpage.notify.stock.js
var SITE_URL = 'http://dev.local/', //this needs to be set somehow production||dev
AJAX_URL = 'ajaxproc/getrandomoutofstock', //relative so this doesn't need to change
select = '#mysize',
emailError = '.error-message',
outOfStockItem = {
id: false,
url: false
};
module.exports = {
'Get backorder stock url': function(browser) {
browser.url(SITEURL + AJAX_URL)
// ommitted for brevity
},
'Check notify stock on product page': function(client) {
client.url(SITE_URL + outOfStockItem.url);
// ommitted for brevity
},
// remaining test stuff - not needed
};
我seen this method here by MateuszJeziorski but omits the means to get the process arguments. The examples提供了守夜人也不要回答这个问题。 我认为命令的最终结果看起来像这样:
nightwatch -somekindofparametertosetenvironment -t e2e-tests/product.page.notify.stock
听起来您可以在 nightwatch.json 文件中获得多个环境所需的内容。
您可以在 nightwatch.json:
中设置您的测试环境"test_settings" : {
"default" : {
"launch_url" : "some_url",
"selenium_port" : 4444,
"selenium_host" : "localhost",
"silent": true,
"screenshots" : {
"globals" : {
"site_url" : "some_site"
},
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
},
"other_environment" : {
"globals" : {
"site_url" : "some_other_site"
}
},
"one_more_environment" : {
"globals" : {
"site_url" : "one_other_site",
"other_var" : "this env needs a different variable"
}
}
}
Nightwatch 会让你通过 --env 进入一个环境。每个环境都可以有唯一的全局变量。
'default' 属性在每个环境中使用,除非它们被特别覆盖。
运行 一个特定的环境,带有像 nightwatch --env "other_environment"
这样的命令。环境将使用 nightwatch.json.
除了@curtwphillips 解释的内容,您还可以使用nightwatch --config <config.file>
指定替代配置文件。