Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一旦满足“夜视可见”条件,则无法继续测试_Javascript_Node.js_Nightwatch.js - Fatal编程技术网

Javascript 一旦满足“夜视可见”条件,则无法继续测试

Javascript 一旦满足“夜视可见”条件,则无法继续测试,javascript,node.js,nightwatch.js,Javascript,Node.js,Nightwatch.js,我正在使用nightwatchisVisible命令检查元素是否可见。这里的场景是,如果元素可见,我想单击该元素并继续测试。如果元素不可见,我不想单击该元素,我仍然想继续测试。 因此,我不能将代码包装在else块中 这里的问题是,一旦条件满足,测试就不会继续。我相信它不能从那种状态中恢复过来。请在下面找到我的代码并提供您的建议 ` const result = await this.myAccountTest.isVisible('@btnremo

我正在使用nightwatch
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
。所以现在测试成功了。祝你好运。享受吧!