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

问题描述 投票:1回答:3

什么是在selenium webDriver中的actions类下出现的暂停(持续时间持续时间)?

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

new Duration(10, TimeUnit.SECONDS) ; 

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

selenium webdriver action
3个回答
1
投票

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

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


1
投票

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

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

暂停方法如下:

  • public Actions pause(java.time.Duration duration) Duration类即java.time.Duration在java.time包中,其中Duration被定义为基于时间的时间量,例如'34 .5秒'等.Exmination类以秒和纳秒为单位模拟时间量或时间量。可以使用其他基于持续时间的单位访问它,例如分钟和小时。
  • 公共操作暂停(长时间停顿) 此方法只执行以毫秒为单位定义的暂停。

0
投票

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

Actions action = new Actions(driver)action.pause(Duration.ofSeconds(5))。perform();

© www.soinside.com 2019 - 2024. All rights reserved.