我怎么能退出这个循环?

时间:2015-06-12 13:13:02

标签: java selenium-webdriver

我是初学者,无法理解为什么这个循环不会破坏。 我需要删除一些用户,如果我确定要删除用户,我会提示每个用户。 所以我做了以下循环:

while (!alert && delete_button_is_present)
{
    clickDeleteBtn;

    if(alert)
    {
        driver.switchTo().alert().accept();
    }

    else if(delete_button_is_not_present)
    {
        break;
    }
}

问题是所有用户被删除后删除按钮不再存在,测试仍然在寻找按钮。

2 个答案:

答案 0 :(得分:0)

让我们一起浏览您的代码

while (!alert && delete_button_is_present)
    {
    clickDeleteBtn;

    if(alert)
    {
        driver.switchTo().alert().accept();

        else if(delete_button_is_not_present)
        {
            break;
        }
    }

你说只要没有警报就要继续这个循环,并且屏幕上有一个删除按钮。首先,单击“删除”按钮。如果没有关于这个按钮的功能的任何信息,我会认为它与循环无关。你说if(alert),但是如果有警报你就不会首先进入循环......所以循环重复

答案 1 :(得分:0)

确保delete_button_is_present或者至少可以在clickDeleteButton或driver.switchTo()。alert()。accept()中修改,或者永远不能满足该条件。

我对你的代码有一些问题,如果它们得到清理可能会有所帮助:你有delete_button_is_present和delete_button_is_not_present。你可以摆脱not_present,只需使用!delete_button_is_present。为什么你有一个if if if inside inside if(alert)?如果你的意思是if(alert),那么if(!delete_button_present)那么你只需要一个if语句。否则,如果在if(alert)之外,则需要其他。