【发布时间】:2018-05-21 17:10:16
【问题描述】:
一旦测试用例和步骤是自动化的:
- 访问网站
- 转到报告页面
- 填写信息表以请求报告
- 报告在页面上显示后立即下载
这里主要是在填写表格以请求报告后,在请求 25 到 30 分钟后可以在同一页面下载报告。
那么有没有更好的方法来等待 30 分钟直到我的报告可供下载?
提交请求后,我想把逻辑放在:
do{
//click somewhere on page constantly where nothing happens but just to be active
}while(reportelement.size!=1);
一旦我得到报告大小 > 0 ,我将点击下载链接。
我知道 selenium 提供了显式等待,但对于如何在此处实现有点困惑。
我不是在寻找完整的场景代码,只是一个好的逻辑可以帮助我自动化这个等待的东西。
【问题讨论】:
-
我认为在代码中浪费 30 分钟本身就是不好的测试。您不应该将测试分成两部分,一份生成,另一份在 30 分钟左右后检查报告?
-
@Tarun- 实际上报告生成不在我的控制范围内。我所能做的就是请求报告并在接下来的 30 分钟内检查报告是否可以下载。
-
我的意思是你运行两个测试,一个生成报告,第二个执行让我们说 30 分钟后返回并检查报告是否在同一页面上可用?
-
我理解,但在这种情况下,我将不得不在 30 分钟后手动触发第二个测试用例。因为我们目前没有使用任何 CI 来安排测试用例。
-
明白了,以目前对情况的了解发布了答案。
标签: java selenium selenium-webdriver