2015-02-09 82 views
-1

我知道下面的代码需要页面的屏幕截图。但是,如果我创建一个DesiredCapabilities实例并将此功能与驱动程序关联以获取屏幕截图,那又有什么不同?我没有得到为什么DesiredCapabilities用于,虽然我已经通过一些网站。有人能请外行解释吗?为什么要设置平台,browserName,版本的功能?DesiredCapabilities的用法包括屏幕截图

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

可能重复[Selenium WebDriver中的DesiredCapabilities的用途是什么?](http://stackoverflow.com/questions/17527951/what-is-the-use-of-desiredcapabilities-in-selenium-webdriver) – xyz 2015-02-09 12:08:43

+0

我想要更多的细节,所以张贴在这里。我想要如果我们不设置这些能力属性会发生什么?根据我的例子,即使我没有设置截图功能,我如何能够保存截图? – Uday 2015-02-09 12:15:55

回答

0

捕捉截图效果很好既selenium2标准的实施,并与远程webdriver.The RemoteWebDriver类,所以你必须通过扩展RemoteWebDriver并没有做它,你可以不执行TakesScreenshot接口来创建自己的CustomRemoteWebDriver没有实现TakesScreenshot接口用Remotedriver截图。

public class MyCustomRemoteWebDriver extends RemoteWebDriver implements TakesScreenshot { 

..... 

} 

RemoteWebDriver的另一个重要功能是,例外通常有附加的屏幕截图,编码为Base64 PNG。