2

我有带有 1000 个测试的回归套件,但是对于每个周期,我的几个测试用例都失败了,因为 ID 未找到错误。即使相应的 ID 可用,但 Webdriver 无法单击该 ID(相同的 ID 用于所有 1000 个测试)。但是如果我刷新页面它会按预期工作。

我使用了以下代码:

        if (existsId("id")==true){
            assertNotNull(bost.driver.findElement(By.id(id)));
        } else {
            bost.driver.navigate().refresh();                
            assertNotNull(bost.driver.findElement(By.id(id)));
        }
    }
}

public boolean existsId(String id) {
    try {
        bost.driver.findElement(By.id(id));
    } catch (Exception e) {
         return false;
    }
    return true;
}

一旦由于 assert 命令而失败,我需要一个代码来重新运行测试。使用上面的代码,webdriver 正在等待几秒钟来执行命令,所以最终等待时间太长了....与之前的运行相比。

4

0 回答 0