gpt4 book ai didi

java - 如何有效地在selenium中长时间等待

转载 作者:行者123 更新时间:2023-12-02 02:10:42 25 4
gpt4 key购买 nike

一旦测试用例和步骤如下,我就会自动化:

  1. 前往网站
  2. 前往报告页面
  3. 填写信息表以请求报告
  4. 报告显示在页面上后立即下载

这里主要是填写表格请求报告后,请求 25 到 30 分钟后即可在同一页面下载报告。

那么有没有更好的方法让我等待 30 分钟才能下载我的报告?

提交请求后,我想添加如下逻辑:

do{

//click somewhere on page constantly where nothing happens but just to be active

}while(reportelement.size!=1);

一旦我得到报告大小 > 0 ,我就会点击下载链接。

我知道 selenium 提供了显式等待,但对于如何在这里实现它有点困惑。

我并不是在寻找整个场景的代码,只是一个好的逻辑就能帮助我自动完成这个等待的事情。

最佳答案

如果您无法拆分测试,我建议保持简单,如下所示

int timeTaken = 0;
int TIMEOUT = 30 * 60;

do {
Thread.Sleep(1000);
timeTaken = timeTaken + 1;
reportelement = driver.findElements(...);
} while (timeTaken < TIMEOUT && reportelement.size != 1)

FluentWait 可以在元素可用时不浪费时间并避免硬编码等待。因为这里我们预计会有 30 分钟的延迟,所以浪费额外的时间来识别元素并不重要。但对于用例来说,代码相当简化。

由于您正在执行 findElements,因此无需在页面上执行任何其他操作,驱动程序的连接仍将处于 Activity 状态

关于java - 如何有效地在selenium中长时间等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50076540/

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