DesiredCapabilities包含截图的用途是什么

时间:2015-02-09 12:06:32

标签: selenium selenium-webdriver

我知道下面的代码会截取页面的截图。但是,如果我创建一个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();

1 个答案:

答案 0 :(得分:0)

Capture截图适用于selenium2标准实现和远程webdriver。RemoteWebDriver类不实现TakesScreenshot接口,因此您必须通过扩展RemoteWebDriver并实现TakesScreenshot接口来创建自己的CustomRemoteWebDriver而不用它,你不能用Remotedriver截取屏幕截图

public class MyCustomRemoteWebDriver extends RemoteWebDriver implements TakesScreenshot { 

.....

}

RemoteWebDriver的另一个重要特性是异常通常具有附加的屏幕截图,编码为Base64 PNG。