我正在为列表视图编写 Java Selenium 测试,特别是用于验证然后从列表视图中选择一个项目的测试。
不过,这让我发疯了,因为测试在一半的时间里运行良好,但另一半会给出 StaleElementReference 或类似的错误,通常每次都发生在不同的阶段。这是在相同条件下运行它们时。
每次列表视图页面更改时,我都会重新分配 WebElement 变量,因为我收集到这可能是问题,但它仍然会发生。然后我认为这可能与需要等待页面完全加载有关,但我不完全确定如何使用我看到其他人建议的 WebDriverWait 之类的东西。但是我知道我们现有的基本页面对象类已经包含了一些等待的东西,所以我认为这可能已经被覆盖了:
public abstract class PageObject {
protected WebDriver driver;
protected WebDriverWait wait;
...
public PageObject(WebDriver driver, String relativePath) {
...
this.driver = driver;
this.wait = new WebDriverWait(driver, 8);
...
这够了吗,还是我需要更具体的“等待”形式来解决这个问题?
除此之外,任何人都可以想到任何可能导致这种情况的常见问题吗?
非常感谢