Selenium - 三种不同的欢迎屏幕
Selenium - Three different welcome screens
我尝试为移动应用程序编写自动测试:“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.
的初学者
然后会发生什么btn_register2.click();
抛出异常?
您可以在 catch 部分再添加一个 try-catch 块,但最好在单击元素之前进行检查。
List<WebElement> elements = driver.findElements(By by);
if (elements.size() > 0)
elements.get(0).click();
如果你想用 try catch 块来做,你可以这样做:
try {
btn_register1.click();
} catch (NoSuchElementException e) {
try {
btn_register2.click();
} catch (NoSuchElementException f) {
btn_register3.click();
}
}
我尝试为移动应用程序编写自动测试:“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.
的初学者然后会发生什么btn_register2.click();
抛出异常?
您可以在 catch 部分再添加一个 try-catch 块,但最好在单击元素之前进行检查。
List<WebElement> elements = driver.findElements(By by);
if (elements.size() > 0)
elements.get(0).click();
如果你想用 try catch 块来做,你可以这样做:
try {
btn_register1.click();
} catch (NoSuchElementException e) {
try {
btn_register2.click();
} catch (NoSuchElementException f) {
btn_register3.click();
}
}