我试图为Android应用程序编写appium测试脚本,在一种情况下等待带有Yes和No按钮的对话框,该对话框不会一直出现,如果对话框出现我想要单击是,否则不会出现下一个案例,我已经写了下面的条件,但问题是else
部分不起作用。它只显示对话框(if
部分)。
if (driver.findElement(dialog).isDisplayed()){
driver.findElement(yesBtn).click();
waitForVisibilityOf(fab);
return new OnBoardingFbReg(driver);
}
else {
waitForVisibilityOf(fab);
return new OnBoardingFbReg(driver);
}
答案 0 :(得分:0)
你的if()不起作用,因为如果没有显示该元素,函数isDisplayed()
将返回Exception
。
请执行以下操作:
try{
if (driver.findElement(dialog).isDisplayed()){
driver.findElement(yesBtn).click();
waitForVisibilityOf(fab);
return new OnBoardingFbReg(driver);
}
}catch(NoSuchElementException e){
waitForVisibilityOf(fab);
return new OnBoardingFbReg(driver);
}
答案 1 :(得分:0)
试试这个,这将有助于
if(ds.findElements( By.id("id") ).size() != 0)
{
driver.findElement(yesBtn).click();
}else
{
System.out.println("Do the second operation");}
}