2

我正在针对 Salesforce 站点编写自动化测试。我使用的是 Firefox 21.0 版和 Selenium 2.33.0 版。

在测试期间,我有几个警报要处理(使用一个“确定”按钮)并成功完成。警报行为正常。

稍后在测试中,在一个表中,有一个删除链接。单击它时,会出现一条警报,上面写着“您确定吗?” 有两个选项,确定和取消。单击确定应删除表中的该行。

但是当我运行自动化测试时,点击链接后,警报很快闪烁然后消失。该行尚未删除。它在那里并且有一个蓝色背景(就像当鼠标悬停在行上时一样)。弹出窗口消失与单击链接后的代码无关,因为我尝试在两者之间进行大量睡眠,但它仍然会发生。

我在 Firefox 中运行测试,这可能是 Firefox 的问题吗?我尝试在 Chrome 中运行它,但是测试在较早的时候一直失败,因为它找不到 Firefox 可以找到的元素。

下面是我用来处理警报的方法。但我认为问题与此无关,因为它发生在此代码运行之前。此方法在单击链接后立即运行...

private void acceptAlert() {
    String mainWindow = webdriver.getWindowHandle();
    WebDriverWait wait = new WebDriverWait(webdriver, 20);
    wait.until(ExpectedConditions.alertIsPresent());
    Alert alert = webdriver.switchTo().alert();
    alert.accept();
    webdriver.switchTo().window(mainWindow);
}
4

0 回答 0