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