虽然绝大多数时候我很高兴让浏览器测试快速运行(并且无头),但有时能够将交换机传递给减慢过程的测试将是非常有价值的。甚至可能在点击之前突出显示鼠标。
这方面最大的用例是向决策者展示并传达所述测试的价值 - 当窗口周期如此之快以至于他们无法开始了解正在发生的事情时,很难做到这一点。
答案 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),以进一步减速。