我在我的测试用例中写了一个if-else条件。但是功能没有进入其他条件,它只是寻找if(条件)。我无法弄清楚问题。
将java与selenium webdriver一起使用
public static void afterMenthod()抛出InterruptedException {
try {
if (remoteDriver.findElementByName("Confirmation").isDisplayed())
{
if (remoteDriver.findElementByName("Stop").isDisplayed())
{
remoteDriver.findElementByName("Stop").click();
}
else
{
remoteDriver.findElementByName("Resume").click();
remoteDriver.findElementByName("Navigate up").click();
remoteDriver.findElementByName("Stop").click();
}
}
else if (remoteDriver.findElementByName("TRY AGAIN").isDisplayed())
{
System.out
.println("There is some problem in deposit transaction");
remoteDriver.findElementByName("Navigate up").click();
remoteDriver.findElementByName("Stop").click();
remoteDriver.findElementByName("Stop").click();
}
else if (remoteDriver.findElementByName("NEXT").isDisplayed() || remoteDriver.findElementByName("SUBMIT").isDisplayed() )
{
System.out.println("There is some problem in deposit transaction");
remoteDriver.findElementByName("Navigate up").click();
remoteDriver.findElementByName("Stop").click();
}
else {
// if(remoteDriver.findElementByName("namaskaar").isDisplayed())
System.out
.println("There is some problem in deposit transaction");
}
} finally{
GeneralMethods.signout();
System.out.println("Script Over");
}}
它只是查找“确认”元素,如果它没有发现测试失败。
答案 0 :(得分:1)
尝试检查元素是否显示并启用
WebElement confirmation = remoteDriver.findElementByName("Confirmation");
if ( confirmation.isDisplayed() && confirmation.isEnabled()) {
...
}
else {
...
}
答案 1 :(得分:0)
“它只是寻找”确认“元素,如果它没有发现测试失败。” - 那是因为如果找不到元素,findElementByName会抛出异常。这就是为什么别人没有得到处理。您需要在代码中使用try-catch-finally。搜索任何论坛,了解如何使用它。
答案 2 :(得分:0)
在catch块中写下你的其他部分。
这样一来,如果发生异常,你的else块就会被执行。
它对我有用。
我的代码在滚动屏幕中查找元素并单击它。
public static void scrollToBeFound(String Value) throws InterruptedException{
try{
driver.findElementByName(Value).click();
Thread.sleep(5000);
}
catch(Exception e){
try{
driver.swipe(120,420,120,750,1500);
Thread.sleep(3000);
driver.findElementByName(Value).click();
}
catch(Exception ex){
driver.swipe(120,750,120,420,1500);
Thread.sleep(3000);
driver.findElementByName(Value).click();
}
}
}