下面的代码是我的应用程序的一部分。我在点击之前捕获时间作为开始,之后等待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();
答案 0 :(得分:0)
我猜,即使你的执行时间超过20秒,也不应该太多。由于element.click()
方法位于start
和end
个变量之间,因此也可能需要识别该元素并点击该链接。
以下代码应给出20秒的执行时间(+/- 1秒):
start = System.currentTimeMillis();
@SuppressWarnings("unused")
WebElement sso_logout = (new WebDriverWait(driver,20)).until(ExpectedConditions.visibilityOfElementLocated(By.id("sso_logout")));
end = System.currentTimeMillis();