有没有办法让Selenium或Facebook Webdriver变慢,以便可以观察到测试?

时间:2016-05-04 03:29:31

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

虽然绝大多数时候我很高兴让浏览器测试快速运行(并且无头),但有时能够将交换机传递给减慢过程的测试将是非常有价值的。甚至可能在点击之前突出显示鼠标。

这方面最大的用例是向决策者展示并传达所述测试的价值 - 当窗口周期如此之快以至于他们无法开始了解正在发生的事情时,很难做到这一点。

2 个答案:

答案 0 :(得分:3)

嗨,请按以下方式进行操作

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

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

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

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

答案 1 :(得分:1)

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

如果你想减慢速度,你可以在核心框架功能(例如click()或诸如此类的东西)中进行睡眠(1),以进一步减速。