降低Selenium Webdriver的速度 [英] Decreasing the speed of Selenium Webdriver

查看:106
本文介绍了降低Selenium Webdriver的速度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个selenium集成测试,它启动浏览器并检查webstore是否有任何损坏的功能。然而,整个测试运行得太快并且在我甚至看不到哪个页面被执行之前完成。如何从代码中降低执行速度。目前我有以下文件实际启动测试。

I have an selenium integration test that launches browser and checks the webstore for any broken functionality. However the entire test runs too fast and finishes before I can even see which page is getting executed. How can I decrease the execution speed from my code. Currently I have following file that actually launches the test.

    @Before
    public void setUp() throws Exception {
        urlProp = GenericUtils.loadProperties("url.properties");
        this.BASE_URL = urlProp.getProperty("webstoreUrl");
        xpathProp = GenericUtils.loadProperties("xpath.properties");
        driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    }

    @After
    public void tearDown() {
        driver.quit();
    }


推荐答案

你可以玩 EventFiringWebDriver

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

你必须写你的班级 ListenerThatAddsPauses 这将扩展 AbstractEventFiringListener 。在 ListenerThatAddsPauses 中,您必须覆盖父类中的方法,例如添加所需的暂停。类似于:

You will have to write your class ListenerThatAddsPauses which will extend AbstractEventFiringListener. In ListenerThatAddsPauses you will have to override methods from parent class and for example add needed pauses. Something like:

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

这是一个很棒的示例

这篇关于降低Selenium Webdriver的速度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆