无法截图
下面的语句在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