为了在出现错误时截取屏幕截图,我从
更改了驱动程序初始化FirefoxProfile profile = new FirefoxProfile(new File(FIREFOX_PROFILE_PATH));
driver = new FirefoxDriver(profile);
selenium = new WebDriverBackedSelenium(driver, BASE_URL);
到
FirefoxProfile profile = new FirefoxProfile(new File(FIREFOX_PROFILE_PATH));
driver = new FirefoxDriver(profile);
MyEventListener eventListener = new MyEventListener();
driver = new EventFiringWebDriver(driver).register(eventListener);
selenium = new WebDriverBackedSelenium(driver, BASE_URL);
我的班级MyEventListener:
public class MyEventListener implements WebDriverEventListener {
...
@Override
public void onException(Throwable throwable, WebDriver driver) {
String filename = generateFilename();
SeleniumUtils.captureEntirePageScreenshot(filename);
}
}
我的屏幕截图没问题但是我的测试用例在4次测试“isElementPresent”后被破坏了。 我不明白发生了什么,我的xPath还可以,因为当我用旧驱动程序重试时,我的脚本运行得很好。 这很奇怪,因为当我在第一行之前取消注释一行不起作用时,在重试时线路运行良好。
你有什么想法解决这个问题吗?
谢谢。