暂停(持续时间)vs thread.sleep(2000)?

时间:2018-04-03 07:33:19

标签: selenium webdriver action

在selenium webDriver中的操作类下,暂停(持续时间)是什么?

此链接:Selenium docs未提供有关暂停方法的足够信息 通过方法名称和参数类型,它似乎需要持续时间对象,这就是我初始化它的方式:

new Duration(10, TimeUnit.SECONDS) ; 

此方法是否已弃用?如果没有,那么任何人都可以提供 Thread.sleep(2000)暂停(持续时间)之间的区别吗?

3 个答案:

答案 0 :(得分:1)

pause()方法允许您在action链内进行休眠,因为它返回Actions。因此,如果您需要在两个动作之间进行睡眠,那么它很有用。否则,您必须拆分actions并在两者之间设置sleep()

还有另一个pause()的重载方法,它需要很长的毫秒作为参数。更容易使用这个,但它是个人偏好。

答案 1 :(得分:1)

你看对了。 Selenium 支持两种pause()方法。

pause()来自Actions类,两种方法都可以在生成包含所有操作的复合操作时使用。

暂停方法如下:

  • 公共操作暂停(java.time.Duration持续时间)

    Duration类,即 java.time.Duration 位于java.time包中,持续时间定义为基于时间时间量,例如'34 .5秒'等。持续时间类根据纳秒来模拟一个数量或时间量< / em>的。可以使用其他基于持续时间的单位访问它,例如分钟小时

  • 公共操作暂停(长暂停)

    此方法只执行以毫秒为单位的暂停。

答案 2 :(得分:0)

使用暂停方法的正确方法如下:
1)Duration对象应该使用Duration类的静态(工厂)方法之一传递
2)执行方法应在调用暂停方法后调用

Action动作=新的Actions(驱动程序) action.pause(Duration.ofSeconds(5))。perform();