我有一个警告,我需要点击一个OK按钮,但我尝试过的任何东西似乎都没有。我的代码可以识别警报,但是当我尝试执行某个操作时,它似乎与警报后面的屏幕进行交互。
这是我正在使用的原生iOS应用。我尝试了以下选项:
1. driver.switchTo().alert().accept();
2. driver.switchTo().alert().dismiss;
3. driver.switchTo().alert();
driver.findelement(By.id("OK")).click();
4. TouchAction touchAction = new TouchAction(driver).tap(xCoordinates, yCoordinates);
touchAction.perform();
是否有人知道点击此提醒的其他方式?
答案 0 :(得分:0)
在我看来,同步问题和一个简单的解决方案是WebDriverWait ExpectedConditions为alertIsPresent(),如下所示:
接受提醒:
new WebDriverWait(driver, 20).until(ExpectedConditions.alertIsPresent()).accept();
解雇警报:
new WebDriverWait(driver, 20).until(ExpectedConditions.alertIsPresent()).dismiss();
作为替代方案,您可以尝试以下代码块:
//import
import org.openqa.selenium.Alert;
//code block
WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
alert.accept();
答案 1 :(得分:0)
在appium中添加功能 capabilities.setCapability(“autoGrantPermissions”,true); 您的功能列表!它将允许自动接受或确定。我的同一个问题已经解决了!