2015-02-09 34 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。