我知道下面的代码会截取页面的截图。但是,如果我创建一个DesiredCapabilities实例并将此功能与驱动程序关联以截取屏幕截图,会有什么不同?虽然我已经浏览了一些网站,但我没有理解DesiredCapabilities的原因。有人可以用外行的方式解释一下吗?为什么要设置platform,browserName,version的功能?
WebDriver driver=new FirefoxDriver();
driver.get("http://www.google.com");
File srcFile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(srcFile, new File("d:\\Screenshot.png"));
driver.close();
答案 0 :(得分:0)
Capture截图适用于selenium2标准实现和远程webdriver。RemoteWebDriver类不实现TakesScreenshot接口,因此您必须通过扩展RemoteWebDriver并实现TakesScreenshot接口来创建自己的CustomRemoteWebDriver而不用它,你不能用Remotedriver截取屏幕截图
public class MyCustomRemoteWebDriver extends RemoteWebDriver implements TakesScreenshot {
.....
}
RemoteWebDriver的另一个重要特性是异常通常具有附加的屏幕截图,编码为Base64 PNG。