4

我可以用 Selenium Web Driver 等待很长时间吗?

即使我可以像下面这样设置隐式等待命令,它也不会等待我给的时间。

 driver.manage().timeouts().implicitlyWait(5, TimeUnit.MINUTES);

这里有什么问题吗?

就我而言,我需要执行一个测试用例并等待 4 分钟,然后再执行下一个测试用例。

我在这里使用Java。

4

2 回答 2

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 。也不必在一些非常特殊的情况下使用很长的等待时间。这个恕我直言是一个很好的做法。

于 2013-02-15T15:17:27.683 回答
5

实际上这不是我的答案,两天前我在这里看到了这个答案,但是我没有时间应用它。今天我尝试了它,这正是我想要的。

不幸的是,现在我在这里看不到那个答案。所以我添加了这个答案,所有的功劳都应该归给在这里发布这个答案的用户。

在这种情况下,我想做的是等待驱动程序 5 分钟,直到执行定期 cron 作业。

Thread.sleep(4000);暂停程序的执行。

于 2013-02-18T06:15:49.150 回答