如何在java中使用selenium测试自动注销?

时间:2015-07-16 06:33:15

标签: selenium selenium-webdriver webdriver

我有一个Web应用程序,可以在闲置一段时间后自动注销。我尝试使用以下代码。

WebDriverWait wait = new WebDriverWait(getWebDriver(), 300);
        wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("logout.button")));

这只是在5分钟后给出TimeOutException。任何想法如何实现? 提前谢谢。

3 个答案:

答案 0 :(得分:0)

它会在5分钟内超时,因为你已经给了300秒。而不是搜索注销按钮为什么不搜索登录按钮。

WebDriverWait wait = new WebDriverWait(getWebDriver(), 300);
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("login.button")));

答案 1 :(得分:0)

  1. 以简单的方式您可以在空闲的时间内使用睡眠(In 规范文件,他们将提到自动'退出'时间)

  2. 然后检查“登录”或将出现的某个elemnet 在'退出'之后

    注意:您使用了300秒的显式等待,这就是“5分钟后出现TimeOutException”

答案 2 :(得分:0)

只需放一个计时器,然后把它放在循环中等待,直到没有异常或计时器用完(在这种情况下测试失败)。

您还应该检查基础架构或测试框架上的所有默认隐式等待时间,可能会有一些超时都会在达到某个阈值之前等待。

否则,我假设您正在测试一个具有javascript计时器的Web应用程序,如果没有活动,该计时器会在5分钟时超时。你能不能更好地改变这次测试的等待时间,以便超时发生?挂一个线程5分钟进行一次测试似乎相当长。