【问题标题】:Is there a way to make Selenium or Facebook Webdriver slow down so that tests are observable?有没有办法让 Selenium 或 Facebook Webdriver 变慢,以便可以观察到测试?
【发布时间】:2016-08-29 07:26:05
【问题描述】:

虽然大多数时候我很高兴浏览器测试运行得很快(无头),但有时能够通过切换到减慢进程的测试并可能会非常有价值甚至在点击之前突出显示鼠标。

最大的用例是向决策者展示和传达所述测试的价值——当窗口循环如此之快以至于他们无法开始理解正在发生的事情时,这是很难做到的。

【问题讨论】:

  • 您可以在每一步之后添加time.sleep() 或仅使用InternetExplorer webdriver :))
  • 哈! IE来救援。确实,为所有内容添加睡眠将是对糟糕代码的一项非常重大的投资。我希望有一个更优雅的选择。

标签: selenium selenium-webdriver phpunit functional-testing user-experience


【解决方案1】:

您好,请按照以下方式进行操作

WebDriver driver = new FirefoxDriver();
EventFiringWebDriver slowDriver = new EventFiringWebDriver(driver); 
slowDriver.registerListener(new ListenerThatAddsPauses(5, TimeUnit.SECONDS));

您必须编写将扩展 AbstractEventFiringListener 的类 ListenerThatAddsPauses。在 ListenerThatAddsPauses 中,您必须覆盖父类的方法,例如添加所需的暂停。比如:

@Override
public void beforeClickOn(WebElement element, WebDriver driver) {
   Thread.sleep(timeout);
}

我也在这里找到了一个例子,请看看它可能对你有帮助http://seleniumworks.blogspot.in/2014/02/eventfiringwebdriver.html

【讨论】:

    【解决方案2】:

    在你的 selenium 服务器上安装 VNC,然后你就可以看到它们发生了。

    如果您想减慢速度,可以在 click() 或诸如此类的核心框架函数中执行 sleep(1) 以进一步减慢速度。

    【讨论】:

    • 我知道如何让他们无头或无头;问题更多是关于设置配置选项等以减慢速度的方法。
    猜你喜欢
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    相关资源
    最近更新 更多