Javascript 一旦满足“夜视可见”条件,则无法继续测试
我正在使用nightwatchJavascript 一旦满足“夜视可见”条件,则无法继续测试,javascript,node.js,nightwatch.js,Javascript,Node.js,Nightwatch.js,我正在使用nightwatchisVisible命令检查元素是否可见。这里的场景是,如果元素可见,我想单击该元素并继续测试。如果元素不可见,我不想单击该元素,我仍然想继续测试。 因此,我不能将代码包装在else块中 这里的问题是,一旦条件满足,测试就不会继续。我相信它不能从那种状态中恢复过来。请在下面找到我的代码并提供您的建议 ` const result = await this.myAccountTest.isVisible('@btnremo
isVisible
命令检查元素是否可见。这里的场景是,如果元素可见,我想单击该元素并继续测试。如果元素不可见,我不想单击该元素,我仍然想继续测试。
因此,我不能将代码包装在else块中
这里的问题是,一旦条件满足,测试就不会继续。我相信它不能从那种状态中恢复过来。请在下面找到我的代码并提供您的建议
`
const result = await this.myAccountTest.isVisible('@btnremove');
console.log('isVisible result', result);
if(await result.value==true)
{
await this.myAccountTest.remove();
await this.myAccountTest.clickConfirm();
}
// rest of the code to continue
await this.myaccountTest.create();
//more code`
我想你用的是在错误的地方等待。也许您可以简单地编写如下代码
const result = await this.myAccountTest.isVisible('@btnremove');
console.log('isVisible result', result);
if (result.value) {
this.myAccountTest.remove();
this.myAccountTest.clickConfirm();
}
// rest of the code to continue
await this.myaccountTest.create();
我想你用的是在错误的地方等待。也许您可以简单地编写如下代码
const result = await this.myAccountTest.isVisible('@btnremove');
console.log('isVisible result', result);
if (result.value) {
this.myAccountTest.remove();
this.myAccountTest.clickConfirm();
}
// rest of the code to continue
await this.myaccountTest.create();
它在控制台日志中为result.value打印的是什么?它在控制台日志中为result.value打印的是什么?它在控制台日志中为result.value打印的是什么?它在打印布尔值true。您可以演示如何在使用isVisible命令时设置suppressNotFoundErrors。我试过了,但对我没用<代码>this.myAccountTest.isVisible({选择器:'@btnDelete',suppressNotFoundErrors:false})代码>这看起来不错。但是该元素真的在页面上不可用吗?是的,该元素在特定场景中不可用。这就是为什么我有这个
if
条件。当元素不可用时,我不希望出现错误。但即使指定了suppressNotFoundErrors
,它仍然会在控制台中显示错误。但是,正如您提到的,我在错误的位置使用了wait
。所以现在测试成功了。祝你好运。享受吧!当我们使用isVisible命令时,您可以演示如何设置suppressNotFoundErrors吗。我试过了,但对我没用<代码>this.myAccountTest.isVisible({选择器:'@btnDelete',suppressNotFoundErrors:false})代码>这看起来不错。但是该元素真的在页面上不可用吗?是的,该元素在特定场景中不可用。这就是为什么我有这个if
条件。当元素不可用时,我不希望出现错误。但即使指定了suppressNotFoundErrors
,它仍然会在控制台中显示错误。但是,正如您提到的,我在错误的位置使用了wait
。所以现在测试成功了。祝你好运。享受吧!