Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java selenium webdirver面临的问题_Java_Selenium_Selenium Webdriver - Fatal编程技术网

Java selenium webdirver面临的问题

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

下面的代码是我的应用程序的一部分。我在单击之前将时间捕获为开始,然后等待sso_注销按钮出现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();

我猜,即使执行时间超过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();