command - 在 nightwatch.js 中调用自定义命令
问题描述
我想做的是在 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;
但这没有用。
所以我的问题是;
是否可以在另一个自定义命令中调用一个自定义命令如果没有,还有另一种方法吗?
解决方案
是的,您可以将自定义命令链接在一起或与其他守夜方法一起使用:
自定义方法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`);
},
推荐阅读
- python - 我的性格不会下降。飞扬的小鸟克隆
- r - 用 ggplot 和 par 在 R 中绘制两个图
- vector - 如何将 Rust 书中的“Vec 中的最大值”示例转换为不使用 Copy 特征?
- google-oauth - 从第 1 步获得授权代码后,单击 Exchange 授权代码
- flutter - Flutter:Dismissible 小部件禁用 Tabview 拖动检测
- asp.net-core-2.1 - 使用带有 asp.net core 2.1 身份的 mongodb
- javascript - 例如,php 将 11 视为 1
- python - 尝试生成 5 个随机项目,有时会生成 4 个
- matlab - Runge-Kutta 数值方法错误逼近
- forms - wiget中的验证表