我有带有 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 正在等待几秒钟来执行命令,所以最终等待时间太长了....与之前的运行相比。