硒-三种不同的欢迎屏幕

时间:2020-06-26 09:48:05

标签: java selenium homescreen

我试图为移动应用程序编写自动测试:“ Vinted”。我无法创建LoginScreen,因为此应用程序具有3个不同的主屏幕,这些主屏幕会随机加载具有不同ID的登录按钮。

我想请您编写一个代码:尝试单击A。如果没有A,则尝试单击B。如果没有B,则尝试单击C。

我尝试过:

try {
btn_register1.click();
  } catch (NoSuchElementException e) {
        btn_register2.click();
        btn_register3.click();
        }

btn_register 1和2起作用。但是接下来就来了3次测试失败。我想补充一点,我非常熟悉Selenium和JAVA。

2 个答案:

答案 0 :(得分:0)

然后btn_register2.click();抛出异常会发生什么?

您可以在catch部分中添加一个try-catch块,但是最好在单击element之前进行检查。

    List<WebElement> elements = driver.findElements(By by);
    if (elements.size() > 0)
        elements.get(0).click();

答案 1 :(得分:0)

如果要使用try catch块执行此操作,可以这样做:

 try {
        btn_register1.click();
    } catch (NoSuchElementException e) {
        try {
            btn_register2.click();
        } catch (NoSuchElementException f) {
            btn_register3.click();
        }
    }