好吧,所以我想做的是在nightwatch.js中的另一个自定义命令中调用一个自定义命令(目的是使测试不那么脆弱)。
例如,在我的第一个自定义命令( message1.js )中,我可能具有以下代码;
exports.command = function(browser) {
this
browser
console.log('display this first')
return this;
,随后在第二个自定义命令( message2.js )中,我想先调用 message1.js 命令,然后执行其余代码。
例如;
exports.command = function(browser) {
this
browser
//call the message1.js command
console.log('display the second message')
return this;
我尝试用方法调用它;
exports.command = function(browser) {
this
browser
.message1();
console.log('display the second message')
return this;
但这没用。
所以我的问题是;
是否可以在另一个自定义命令中调用一个自定义命令 如果没有,还有另一种方法吗?
非常感谢
答案 0 :(得分:0)
是的,您可以将自定义命令链接在一起或与其他守夜方法链接:
自定义方法openUrl.js
:
exports.command = function(url) {
const browser = this;
browser.url(url);
return this;
}
调用openStackOverflow.js
的自定义方法openUrl.js
:
exports.command = function(url) {
const browser = this;
browser.openUrl(url).waitForElementVisible('#submit-button');
return this;
}
在测试中使用它们:
'Open Stack Overflow': browser => {
browser.openStackOverflow(`https://stackoverflow.com`);
},