我有一个 Selenium 集成测试,可以启动浏览器并检查网上商店是否有任何损坏的功能。然而,整个测试运行得太快,在我什至可以看到哪个页面正在执行之前就完成了。如何降低代码的执行速度。目前我有以下文件实际启动测试。
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();
}
最佳答案
您可以使用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
关于java - 降低 Selenium Webdriver 的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22726717/