Java selenium webdirver面临的问题
下面的代码是我的应用程序的一部分。我在单击之前将时间捕获为开始,然后等待sso_注销按钮出现20秒,然后捕获结束时间 我的问题是,在任何情况下,结束开始时间都不应超过20秒。我说得对吗Java selenium webdirver面临的问题,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,下面的代码是我的应用程序的一部分。我在单击之前将时间捕获为开始,然后等待sso_注销按钮出现20秒,然后捕获结束时间 我的问题是,在任何情况下,结束开始时间都不应超过20秒。我说得对吗 try{ System.out.println("First"); element = driver.findElement(By.xpath(".//*[@id='signin_google_button']/div[2]")); elem
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();
我猜,即使执行时间超过20秒,也不会太多。由于
element.click()
方法介于start
和end
变量之间,因此还可能需要识别元素并单击链接
以下代码应给出20秒的执行时间(+/-1秒):
您是否有错误,或者您只是希望得到“是/否”的答案?在代码后面,我将捕获不同线程的(结束-开始)时间。但据我所知,sso_注销只需等待20秒,否则将继续。但有时我会得到超过20秒的(结束-开始)值扫描你,请告诉为什么结束-开始值大于20?你的等待时间应该以毫秒为单位,而不是以秒为单位。在转换以毫秒为单位的时间后,你会变得不同,因为webdriver也需要几秒钟来等待页面加载。是的,这对我来说很好。但对我来说,有时它会持续40秒。我有大约20个线程,对于所有线程,我需要捕获开始和结束时间。我更新了查询,提到了完整的函数。
element.click()
将使selenium等待默认等待时间60秒或用户定义的等待时间,直到找到元素并执行click()操作。所以40
秒在范围内。删除元素后。单击()
我预计它将等待20秒。此外,当我定义了元素上的显式等待时,我不会担心所花费的时间。
start = System.currentTimeMillis();
@SuppressWarnings("unused")
WebElement sso_logout = (new WebDriverWait(driver,20)).until(ExpectedConditions.visibilityOfElementLocated(By.id("sso_logout")));
end = System.currentTimeMillis();