Selenium WebDriver 2.40 - 无法截屏

时间:2014-03-26 14:16:38

标签: selenium selenium-webdriver webdriver

以下声明与Selenium webdriver 2.39一起使用时效果很好。将此升级到webdriver 2.40后,下面的语句不起作用。

            File scrFile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
            FileUtils.copyFile(scrFile, new File(System.getProperty("user.dir")+"/output//files/"+fileName));

抛出此异常。 org.openqa.selenium.chrome.ChromeDriver无法强制转换为org.openqa.selenium.TakesScreenshot

任何人都有如何解决这个问题?

编辑:我没有修改上面的代码。只有改变我做的是用selenium-java-2.40.0.jar替换selenium-java-2.39.0.jar。

2 个答案:

答案 0 :(得分:1)

可能值得检查您是否正在使用Java 7编译器。 这是我的代码片段与Chrome一起正常工作:

TakesScreenshot yourScreenshot = ( TakesScreenshot ) driver;

File tempfile = yourScreenshot.getScreenshotAs( OutputType.FILE );
System.out.println( tempfile.getAbsolutePath() );

File myScreenshotDirectory = new File( "Screenshots Folder" );
myScreenshotDirectory.mkdirs();

File screenshotImage = new File( myScreenshotDirectory,"ScreenShotImage.png" );
FileUtils.moveFile( tempfile, screenshotImage );

答案 1 :(得分:0)

问题已解决。

我有selendroid jar也与测试相关(用于在Android设备中运行我的测试)。由于类路径中的jar的顺序,selendroid jar导致了这个问题。当我改变顺序(selenium jar first,selendroid next)时,错误就消失了。

谢谢大家。