我有一个成功的测试
Human

但就我的目的而言,某些属性'包含' foo'或者' bar'。我想知道如何编写这种测试,以便Nightwatch不会报告任何测试失败。
答案 0 :(得分:1)
您可以分两步测试属性是否包含'foo'或'bar':
getAttribute()
或attribute()
使用getAttribute()
,使用regex.test()
:
browser.getAttribute('someElement', 'someAttribute', function(result) {
this.assert.value(/foo|bar/.test(result.value), true);
};
使用attribute()
,使用matches()
断言:
browser.expect.element('someElement').to.have.attribute('someAttribute')
.which.matches(/foo|bar/);
答案 1 :(得分:0)
使用.elements()并获取元素结果的长度以避免失败消息。
.elements('css selector','someElement[yourattribute="foo"]',function(result){
if(result.value.length>0){ //element exists
console.log('somelement is here')
}
else{
console.log('not here')
}
});