Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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中执行静态等待?_Java_Selenium_Thread Sleep_Fluentwait_Implicitwait - Fatal编程技术网

如何使用java在selenium中执行静态等待?

如何使用java在selenium中执行静态等待?,java,selenium,thread-sleep,fluentwait,implicitwait,Java,Selenium,Thread Sleep,Fluentwait,Implicitwait,这很令人沮丧。无论我看到哪里,人们总是告诉我使用显式、隐式和流畅的等待。这些等待使您可以根据元素暂停。然而,光顾我们并移除工具和选项并不是一个好主意。在我当前的特定pickle中,我有一个按钮,它被设计为在有人点击过快时消失。然而,它现在也被设计成立即出现。所以你必须等到它出现,然后等待足够的时间过去,然后点击按钮。有了这些建议,我知道这是不可能的。在这种情况下,必须使用静态暂停或睡眠。出于某种原因,我甚至不能使用线程睡眠,因为它似乎在Java 8本身或其他版本中已被弃用。隐式等待: drive

这很令人沮丧。无论我看到哪里,人们总是告诉我使用显式、隐式和流畅的等待。这些等待使您可以根据元素暂停。然而,光顾我们并移除工具和选项并不是一个好主意。在我当前的特定pickle中,我有一个按钮,它被设计为在有人点击过快时消失。然而,它现在也被设计成立即出现。所以你必须等到它出现,然后等待足够的时间过去,然后点击按钮。有了这些建议,我知道这是不可能的。在这种情况下,必须使用静态暂停或睡眠。出于某种原因,我甚至不能使用线程睡眠,因为它似乎在Java 8本身或其他版本中已被弃用。

隐式等待:

driver.manage().timeouts().implicitlyWait(TimeOut, TimeUnit.SECONDS);   
WebDriverWait wait = new WebDriverWait(WebDriverRefrence,TimeOut);
显式等待:

driver.manage().timeouts().implicitlyWait(TimeOut, TimeUnit.SECONDS);   
WebDriverWait wait = new WebDriverWait(WebDriverRefrence,TimeOut);

是什么来源让你认为会被弃用

因此,即使在未来,它也不会被弃用


因此,如果您想使用它,请随意使用。:-)

可能通过您所指的术语静态等待和静态暂停,这在许多方面仍然有用

然而,在通过Selenium诱导睡眠执行测试时,将问题修复为诱导
Thread.sleep(1000)降低总体测试执行性能。您可以在中找到详细的讨论

如果你需要诱导等待,这是一个很好的开始。您可以在中找到详细的讨论。然而,由于当前的Web应用程序是通过构建的,因此,etc显式等待将是未来的发展方向

所以,向前看,你可以向目标转变。您可以在中找到详细的讨论


此时,实现将更加容易,您可以在中找到详细的讨论。

在html中,按钮外观和可单击按钮之间是否有任何更改?为什么Java 8中不推荐使用
Thrrad.sleep()
?我建议显式等待按钮出现,然后使用Thread.sleep等待,这是确保它没有被点击过快并且不会在特定场景中消失所需的最短时间。同样,Java 8文档中的Thread.sleep也适用于Thread.sleep(它没有被弃用)最好有更多关于您看到的错误的详细信息,以帮助您处理线程。问题的睡眠部分我似乎无法使命令停止出错,无论我使用什么导入。请显示您正在使用的导入以及相应的错误消息和弃用警告。使用
Thread.sleep()
等待元素等不是一种好的做法,但如果您需要按照OP的方式对页面上的特定内容进行计时,则可以使用。正如我前面提到的,对于Selenium参与者来说,使用隐式等待不是一种最佳做法。显式等待和流畅等待基本相同,显式等待只是预打包的等待,两者都是是“最佳实践”等待。+1从不使用隐式等待,始终使用显式等待(显式等待构建在fluent等待之上,我同意它们在所有意图和目的上都是一样的。fluent等待只是带有一些附加配置选项的显式等待)