Java 关闭弹出窗口方法不适用于所有测试
关闭弹出式方法不适用于所有测试 1.例如,26项测试中有20项将通过。 2.在未通过的六个测试中,以下代码将不会关闭popuo框Java 关闭弹出窗口方法不适用于所有测试,java,selenium,selenium-webdriver,webdriver,Java,Selenium,Selenium Webdriver,Webdriver,关闭弹出式方法不适用于所有测试 1.例如,26项测试中有20项将通过。 2.在未通过的六个测试中,以下代码将不会关闭popuo框 public void closeAlertPopupBox() { try { Alert alert = wait.until(ExpectedConditions.alertIsPresent()); alert.accept(); System.out.println("The popup has
public void closeAlertPopupBox() {
try {
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.accept();
System.out.println("The popup has been successfully closed");
} catch (Exception e) {
System.out.println("Unable to close the popup");
Assert.assertFalse(true, "Unable to close the popup, Exception: " + e.getMessage());
} finally{
driver.switchTo().defaultContent();
}
}
您好,当6个测试失败时,它们是否都在同一点失败?您正在捕获异常,还是它只是没有关闭?如果有例外,是什么?是否所有这些弹出窗口上都有
accept()
将起作用的内容?@mrfreester感谢您的回复,弹出窗口是相同的,包含按钮/文本ok,所有测试在同一点失败,并且im收到的消息是:org.openqa.selenium.UnhandledAlertException:意外警报打开:{提示文本:单击“确定”确认您的个人消息是正确的,因为这正是打印该消息的方式。}听起来很有趣:)。我猜异常发生在这个CloseAlertPopuBox
方法之后,你知道你是否在catch块中捕捉到异常吗?你有一个明确的等待警报出现的时间,但我的第一个猜测是这仍然是一个计时问题。当你用调试逐步完成代码时,这仍然失败吗ger,或者如果您在alert.accept()
之前睡了几秒钟?如果没有,那么您可能需要找出其他需要等待的东西。@mrfreester如果我在方法开始工作之前设置了一个固定的线程.sleep(),看起来就像.wait()是如何奇怪dosnt在列出的方法内工作:/Yeah,这很令人沮丧,在警报出现后,可能需要一分钟才能单击accept按钮……在警报上等待事情本身会有点困难。您好,当6个测试失败时,它们是否都在同一点失败?您是否捕获到异常,还是只是没有关闭?如果有异常Option,这是什么?所有这些弹出窗口上都有什么东西,accept()
可以做些什么吗?@mrfreester感谢您的回复,弹出窗口是相同的,包含按钮/文本ok,所有测试都在同一点失败,我收到的消息是:org.openqa.selenium.unhandledartexception:意外警报打开:{提示文本:单击“确定”确认您的个人消息是正确的,因为这正是打印该消息的方式。}听起来很有趣:)。我猜异常发生在这个CloseAlertPopuBox
方法之后,你知道你是否在catch块中捕捉到异常吗?你有一个明确的等待警报出现的时间,但我的第一个猜测是这仍然是一个计时问题。当你用调试逐步完成代码时,这仍然失败吗ger,或者如果您在alert.accept()
之前睡了几秒钟?如果没有,那么您可能需要找出其他需要等待的东西。@mrfreester如果我在方法开始工作之前设置了一个固定的线程.sleep(),看起来就像.wait()是如何奇怪dosnt在列出的方法内工作:/Yeah,这很令人沮丧,在警报出现后,可能需要一分钟才能单击“接受”按钮……等待警报本身的内容有点困难。