是否有任何的webdriver方法与Java控制浏览器的速度是多少?(Is there any me

2019-06-25 16:38发布

当我使用硒RC有setSpeed的方法:

selenium.setSpeed( “500”);

什么是控制浏览器的速度在硒的webdriver的方式吗?

Answer 1:

您可以使用Thread.Sleep(500)在任何一种语言,您使用的是运行的webdriver(或同等学历)。 这将导致线程暂停毫秒的一个确切的数字。

或者您可以使用说明明示暗示等待 在这里 。

  • 明确的等待让你定义一个ExpectedCondition 。 的webdriver将检查条件每500毫秒,直到它返回true,(之后执行将立即恢复)。

  • 隐等待造成的webdriver不断重试尝试定位在DOM东西。 一旦元素被发现执行将立即恢复。

请注意,无论是隐式还是显等待将保证500毫秒暂停。



Answer 2:

不再有任何的方法来控制在硒的webdriver每个“步骤”的速度。 有一段时间,有一个setSpeed()的方法上Options界面(在Java绑定;其他绑定对他们适当命名的对象类似的结构),但它已被废弃很久很久以前。 这背后的理论是,你不应该需要一个先验放慢你的代码的webdriver每一个步骤。 如果你需要等待的东西在你的自动化应用程序发生,你应该使用隐性或显性等待程序。



Answer 3:

有没有直接的方法。 但是有可以使用,你可以重写webdriver的方法和引入明确的睡眠,以你的测试如放慢黑客攻击。 压倒一切的findElement方法

public class _WebDriver extends FirefoxDriver {

@Override
public WebElement findElement(By by) {
    try {
        Thread.sleep(500);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return by.findElement((SearchContext) this);
}

}


Answer 4:

更妙的是可能是使用的webdriver FluentWait类一起与ExpectedCondition。 样品可以在这里找到: http://www.summa-tech.com/blog/2011/10/10/using-page-objects-with-selenium-and-web-driver-20/



文章来源: Is there any method in WebDriver with Java for controlling speed of browser?