采用屏幕截图的Selenium2 Webdriver适用于Firefox,但没有别的

时间:2013-07-31 16:07:11

标签: java selenium screenshot

我正在使用Selenium 2和Testng。 硒的Java-2.33.0

尝试仅在失败的测试用例中拍摄浏览器的屏幕截图。我将webdriver存储在Hashtable中,其ID与每种浏览器类型(IE,Firefox,Chrome和Safari)相关联。在清理例程“@afterMethod”中,我获取该webdriver。这是代码:

//代码1:

if (webDriver instanceof TakesScreenshot) {
    File tempFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    FileUtils.copyFile(tempFile, new File("screenshots.png"));
}

//代码2:

EventFiringWebDriver efiringDriver = new EventFiringWebDriver(webDriver);
File scrFile = efiringDriver.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("screenshot.png"));

这两个代码路径都适用于Firefox,但对于其他浏览器,会抛出强制转换异常。

java.lang.ClassCastException:org.openqa.selenium.chrome.ChromeDriver无法强制转换为org.openqa.selenium.firefox.FirefoxDriver

0 个答案:

没有答案
相关问题