降低Selenium Webdriver的速度

时间:2014-03-29 03:44:48

标签: java selenium-webdriver

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

AbstractSeleniumIt.java

    @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();
    }

1 个答案:

答案 0 :(得分:1)

您可以使用EventFiringWebDriver

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);
}

这是一个很棒的example