我可以在很长一段时间内使用Selenium Web Driver吗?
即使我可以设置如下所示的隐式等待命令,它也不会等待我给出的时间。
driver.manage().timeouts().implicitlyWait(5, TimeUnit.MINUTES);
这里有什么不对吗?
在我的情况下,我需要执行一个测试用例并等待4分钟,然后执行下一个测试用例。
我在这里使用Java。
答案 0 :(得分:9)
考虑到你需要等待一个特定元素我会在下面的ExplicitWait中做一些事情。
WebDriverWait wait = new WebDriverWait(driver, 300); // The int here is the maximum time in seconds the element can wait.
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("someId")));
在这种情况下,您可以使用您想要的任何ExpectedConditions。 也不必在一些非常特殊的情况下使用大的等待时间。这个imho是一个很好的做法。
答案 1 :(得分:5)
实际上这不是我的答案,两天前我在这里看到了这个答案,但我没有时间去应用它。今天我尝试了,这就是我想要的。
不幸的是现在我在这里找不到答案。所以我添加了这个答案,并且所有的积分应该发送给在这里发布这个答案的用户。
在这种情况下,我想要做的是等待驱动程序5分钟,直到执行定期的cron作业。
Thread.sleep(4000);
暂停执行程序。