无法截图

下面的语句在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。


检查你使用的是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 );

问题已解决。

我有selendroid jar以及相关的测试(这是用来在Android设备上运行我的测试)。 由于classpath中jar包的顺序,selendroid jar引发了这个问题。 当我改变顺序时(硒罐首先,selendroid下一步),错误消失了。

谢谢你们。

链接地址: http://www.djcxy.com/p/67395.html

上一篇: Unable to take screenshot

下一篇: Parameters is passing default value in TestNG