当前位置: 首页 > 知识库问答 >
问题:

Selenium测试-Firefox警报立即消失

田镜
2023-03-14

我正在火狐上写一个处理警报的硒测试。当测试运行时,警报会出现几分之一秒,但是当手动执行时,警报会持续存在。有人能说出为什么会这样吗?

我尝试在Firefox上设置此配置文件,但也没有帮助:

profile.setPreference("alerts.disableSlidingEffect", true);

有人能告诉我如何让警报留在页面上吗?

在代码中,我检查警报是否存在,如下所示,由于警报消失得太快,因此显然从未被击中:

WebDriverWait wait = new WebDriverWait(webDriver, Long.parseLong(parameters[0]));
wait.until(ExpectedConditions.alertIsPresent());

共有3个答案

庄元龙
2023-03-14

我不认为“警报”。disableSlidingEffect的Firefox配置文件选项应该会导致警报消失-相反,请尝试使用设置为“忽略”的unexpectedalertbehaviour功能创建WebDriver实例。

蒋航
2023-03-14

所选择的答案对我来说很有用,但似乎FirefoxDriver(org.openqa.selenium.Capabilities)已被弃用。工作备选方案是:

FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
driver = new FirefoxDriver(firefoxOptions);
吴宏扬
2023-03-14

有3个状态为Un预期的警报行为

  1. ACCEPT-接受警报
  2. DISMISS-关闭/取消警报
  3. IGNORE-既不接受也不关闭警报
DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
driver = new FirefoxDriver(dc);

然后,您可以通过执行触发警报并将其捕获为预期异常的操作来处理警报:

try {
    click(myButton);
} catch (UnhandledAlertException f) {
    try {
        Alert alert = driver.switchTo().alert();
        String alertText = alert.getText();
        System.out.println("Alert data: " + alertText);
        alert.accept();
    } catch (NoAlertPresentException e) {
        e.printStackTrace();
    }
}
 类似资料:
  • 问题内容: 我正在Firefox上编写有关警报的Selenium测试。运行测试时,警报会出现一秒钟的时间,但是手动完成后,警报仍然存在。谁能说出为什么这样吗? 我尝试在Firefox上设置此配置文件,但这无济于事: 谁能告诉我如何使警报停留在页面上? 在代码中,我正在检查警报的存在,因为警报消失得太快了,它似乎永远不会被击中: 问题答案: 共有3种状态: -接受警报 -关闭/取消警报 -既不接受也

  • 问题内容: 我正在Firefox上编写有关警报的Selenium测试。运行测试时,警报会出现一秒钟的时间,但是手动完成后,警报仍然存在。谁能说出为什么这样吗? 我尝试在Firefox上设置此配置文件,但这无济于事: 谁能告诉我如何使警报停留在页面上? 在代码中,我正在检查警报的存在,因为由于警报消失得太快,它显然从未受到攻击: 问题答案: 共有3种状态: -接受警报 -关闭/取消警报 -既不接受也

  • 我每天上午11点使用显示通知。 当我在应用程序中设置警报时,警报会在短时间后触发。

  • 嗨,我目前正在使用警报管理器。我写了下面给出的代码。根据代码,警报管理器应该在10秒后触发,但在我的代码中,警报管理器会立即触发。请帮助。 还有我的警报接收课 我已经在清单中添加了所需的权限。

  • 一个项目将会自动生成测试运行。默认位置为: build/reports/androidTests 类似于 JUnit 的报告所在位置 build/reports/tests,其它的报告通常位于 build/reports/<plugin>/ 这个路径也可以通过以下方式自定义: android { ... testOptions { reportDir = "$