selenium webdirver面临的问题

时间:2016-01-05 08:50:00

标签: java selenium selenium-webdriver

下面的代码是我的应用程序的一部分。我在点击之前捕获时间作为开始,之后等待sso_logout按钮出现20秒然后捕获结束时间。

在任何情况下,我的查询的结束开始时间不应超过20秒。我是对的吗?

try{
            System.out.println("First");
            element = driver.findElement(By.xpath(".//*[@id='signin_google_button']/div[2]"));
            element.click();

            driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

            System.out.println("Second");
            element = driver.findElement(By.cssSelector("input#Email"));
            element.sendKeys(account);

            driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

            element = driver.findElement(By.id("next"));
            element.click();

            element = driver.findElement(By.id("Passwd"));
            element.sendKeys(password);
            element = driver.findElement(By.id("signIn"));

            countDownLatch.countDown();
            countDownLatch.await();

            start = System.currentTimeMillis();
            element.click();
            @SuppressWarnings("unused")
            WebElement sso_logout = (new WebDriverWait(driver,20)).until(ExpectedConditions.visibilityOfElementLocated(By.id("sso_logout")));
            end = System.currentTimeMillis();

1 个答案:

答案 0 :(得分:0)

我猜,即使你的执行时间超过20秒,也不应该太多。由于element.click()方法位于startend个变量之间,因此也可能需要识别该元素并点击该链接。

以下代码应给出20秒的执行时间(+/- 1秒):

start = System.currentTimeMillis();
@SuppressWarnings("unused")
WebElement sso_logout = (new WebDriverWait(driver,20)).until(ExpectedConditions.visibilityOfElementLocated(By.id("sso_logout")));
end = System.currentTimeMillis();