如何合并多个 this.expect 语句
How to combine multiple this.expect statements
我想创建一个单一的方法来验证所有着陆页对象是否存在,然后再执行下一个测试步骤。以下是我目前拥有的,但我正在寻找一种更简洁的方法来实现这一目标。非常感谢任何建议。
verifyLandingPageNavElements:function(){
this.expect.element('@NavLogo_img')
.to.be.present.after(2000),
this.expect.element('@BuySearch_nav')
.to.be.present.after(2000),
this.expect.element('@Sell_nav')
.to.be.present.after(2000),
this.expect.element('@Appraise_nav')
.to.be.present.after(2000),
this.expect.element('@Products_nav')
.to.be.present.after(2000),
this.expect.element('@LocateADealer_nav')
.to.be.present.after(2000)
this.expect.element('@Search_nav')
.to.be.present.after(2000)
},
好的方法是为此创建自定义命令。
// ./lib/custom-commands/expectElementsToBePresent.js
exports.command = function(selectors, ms) {
selectors.forEach(selector => this.expect.element(selector).to.be.present.after(ms));
return this;
};
// Test case
client
.url('https://some.url')
.expectElementsToBePresent([
'.some.selector',
'.another.selector'
], 2000);
不要忘记通过设置配置文件的 custom_commands_path
属性 将 Nightwatch 指向您保存自定义命令的目录(./lib/custom-commands
在我的示例中)。
如果您想了解更多关于自定义命令的信息,这里是 link 官方文档:http://nightwatchjs.org/guide#writing-custom-commands
我想创建一个单一的方法来验证所有着陆页对象是否存在,然后再执行下一个测试步骤。以下是我目前拥有的,但我正在寻找一种更简洁的方法来实现这一目标。非常感谢任何建议。
verifyLandingPageNavElements:function(){
this.expect.element('@NavLogo_img')
.to.be.present.after(2000),
this.expect.element('@BuySearch_nav')
.to.be.present.after(2000),
this.expect.element('@Sell_nav')
.to.be.present.after(2000),
this.expect.element('@Appraise_nav')
.to.be.present.after(2000),
this.expect.element('@Products_nav')
.to.be.present.after(2000),
this.expect.element('@LocateADealer_nav')
.to.be.present.after(2000)
this.expect.element('@Search_nav')
.to.be.present.after(2000)
},
好的方法是为此创建自定义命令。
// ./lib/custom-commands/expectElementsToBePresent.js
exports.command = function(selectors, ms) {
selectors.forEach(selector => this.expect.element(selector).to.be.present.after(ms));
return this;
};
// Test case
client
.url('https://some.url')
.expectElementsToBePresent([
'.some.selector',
'.another.selector'
], 2000);
不要忘记通过设置配置文件的 custom_commands_path
属性 将 Nightwatch 指向您保存自定义命令的目录(./lib/custom-commands
在我的示例中)。
如果您想了解更多关于自定义命令的信息,这里是 link 官方文档:http://nightwatchjs.org/guide#writing-custom-commands