Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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 检查弹出窗口,然后单击继续使用TestCafe_Javascript_Testing_Automated Tests_E2e Testing_Testcafe - Fatal编程技术网

Javascript 检查弹出窗口,然后单击继续使用TestCafe

Javascript 检查弹出窗口,然后单击继续使用TestCafe,javascript,testing,automated-tests,e2e-testing,testcafe,Javascript,Testing,Automated Tests,E2e Testing,Testcafe,登录后,如果用户已登录,将显示一个弹出窗口。我想使用do-while循环。javascript和testcafe的新功能,所以这可能应该被视为伪代码 do { try { if (await this.continueBtn.exists) { await t.click(this.continueBtn); } } catch { break; } } whi

登录后,如果用户已登录,将显示一个弹出窗口。我想使用do-while循环。javascript和testcafe的新功能,所以这可能应该被视为伪代码

do
{
    try
    {
        if (await this.continueBtn.exists)
        {
            await t.click(this.continueBtn);
        }
    }
    catch
    {
        break;
    }
}
while (await this.longinName.exists);
所以,我不确定等待是正确的还是必要的,但希望你知道我在努力做什么。用户输入登录信息并单击登录按钮。如果用户已登录,将显示一个带有“继续”按钮的弹出窗口。在后台或弹出窗口下,登录名控件仍然可见/存在(也许我应该使用visible、Tryed、Not work for me)。因此,在显示的同时,我想留意一下弹出窗口,然后单击“继续”登录

这段“代码”将在一个页面对象类中,在阅读了一些教程之后,这将是一段代码。使用了约定,因此不确定这是否正确


提前谢谢你的帮助

这段代码确实有效!如果有更好的方法,请让我知道,但我在.click事件中有一个输入错误。在实际的测试类代码中,它是.clich


很抱歉。如果有更有效的方法,希望代码片段能帮助他人或收到更正。

这段代码确实有效!如果有更好的方法,请让我知道,但我在.click事件中有一个输入错误。在实际的测试类代码中,它是.clich


很抱歉。如果有更有效的方法,希望代码片段能帮助他人或收到更正。

您可以尝试以下方法:

等待t
.expect(continueBtn.exists)
.ok('对话框未显示',{timeout:5000});
。单击(continueBtn)

这相当于
如果对话框在5秒内出现,请单击“继续”按钮
否则出错
,您可以尝试以下操作:

等待t
.expect(continueBtn.exists)
.ok('对话框未显示',{timeout:5000});
。单击(continueBtn)

这相当于
如果对话框在5秒内出现,请单击“继续”按钮
否则出错
,哦,我不确定是否中断;在catch中也是正确的方法。您是否尝试过
wait t.expect({your_selector}.visible).ok()而不是
if
语句?新詹姆斯-我不确定这能让我达到我想要/需要去的地方。我需要点击它的按钮,只有当它出现。哦,我不知道如果打破;在catch中也是正确的方法。您是否尝试过
wait t.expect({your_selector}.visible).ok()而不是
if
语句?新詹姆斯-我不确定这能让我达到我想要/需要去的地方。只有当它出现时,我才需要单击它的按钮。