gpt4 book ai didi

java - 在测试执行时,如何等待网页上有时出现在随机位置的 WebElement?

转载 作者:行者123 更新时间:2023-11-30 05:37:47 25 4
gpt4 key购买 nike

我为 Web 应用程序编写了一个基于 Selenium 的自动化测试,它们可以在快速的互联网连接下完美运行,但在连接质量较差的情况下会出现不可预测的行为。

Web 应用程序的构建方式是,如果网页上某些操作的请求响应持续时间大于 250 毫秒,则应用 loader-wrapper 元素,阻止用户进行任何类型的操作,直到响应结束。加载器包装器可以在测试执行的任何位置应用任何请求,所以我不能使用 Selenium 的显式等待,因为我不知道它会出现在何时何地。结果我收到一个异常:

org.openqa.selenium.WebDriverException: Element is not clickable at point (411, 675). Other element would receive the click:(.show-component .loader-wrapper)

有没有办法设置一个“全局等待”,如果加载器包装器出现,它将停止测试执行,并等待它结束,然后测试执行将继续?或者任何其他想法。

最佳答案

我有点喜欢你的注释想法,但不知道如何实现它。

另一种可能的方法是编写您自己的 ExpectedCondition“loaderWrapperDisappeared”(或类似的内容),它将等待加载器包装器消失,并返回目标 WebElement,以便您可以将单击链接到它。

然后你就可以像这样使用它;

(new WebDriverWait(targetWebElement, 50))
.until(ExpectedConditions.loaderWrapperDisappeared(By.id("your div id"))).click();

(请原谅语法错误......我已经好几年没有写过java了)

关于java - 在测试执行时,如何等待网页上有时出现在随机位置的 WebElement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56270304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com