我的测试目标是检查文本字段输入是否为空
当我在Nightwatch中使用browser.execute()命令时,我想添加一些简单的javascript来检查文本字段是否为空,那么Nightwatch将跳过该块。如果我可以在开发工具中运行JS代码,则可以运行,但是当我将其转换为Nightwatch时,它将失败。我可能会误解browser.execute的概念,所以我希望有人可以告诉我我在做什么错。
谢谢。
Nightwatch code
this.api.execute(
function() {
let element = document.getElementById('autocomplete-input').value;
console.log(element);
if(element.length == 0 || element === ""){
console.log('Element is empty')
}
})
},
JS code
function testing1() {
let element = document.getElementById('autocomplete-input').value;
console.log(element);
if(element.length == 0 && element === ""){
console.log('Element is empty')
}
}
答案 0 :(得分:2)
如果您在Nightwatch Docs中查找.execute(),则它需要一个主体,一个将传递给该函数的参数数组和一个可选的回调函数。既然身体已经有了,那么添加一个空数组就可以了。
browser.execute(function testing1() {
let element = document.getElementById('autocomplete-input').value;
console.log(element);
if(element.length == 0 && element === ""){
console.log('Element is empty')
}
}, [])