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

pause(Duration duration) vs thread.sleep(2000)?

selenium webDriver 中的 pause(Duration duration) 是什么 class?

这个 link : Selenium docs 没有提供足够的关于暂停方法的信息。
根据方法名称和参数类型,它似乎需要 Duration 对象,这就是我初始化它的方式:

new Duration(10, TimeUnit.SECONDS) ; 

是否已弃用此方法?如果没有,那么有人可以提供 Thread.sleep(2000)pause(Duration duration) 之间的区别吗?

pause() 方法允许您在 action 链中休眠,因为它 returns 返回 Actions。因此,如果您需要在两个动作之间暂停一下,这很有用。否则你将不得不拆分 actions 并在两者之间有一个 sleep()

还有一个pause()的重载方法,需要一个long毫秒作为参数。这个比较好用,但是个人喜好。

你没看错。 Selenium 支持两种 pause() 方法。

pause() is from the Actions Class 并且这两种方法都可以在两个动作之间使用,同时生成一个包含所有动作的 复合动作

暂停方法如下:

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

    Duration Class i.e. java.time.Duration is in java.time 包,其中 Duration 定义为 a time-based 时间量,例如“34.5 秒”Duration class 以 纳秒为单位对数量或时间量进行建模。它可以使用其他 duration-based 单位访问,例如 分钟 小时

  • public 动作暂停(长时间暂停)

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

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

Actions action = new Actions(驱动程序) action.pause(Duration.ofSeconds(5)).执行();