2009-09-07 397 views
2

我正在使用Eclipse和Selenium RC運行帶有TestNG的Selenium。我用命令:selenium.captureEntirePageScreenshot不起作用,但selenium.captureScreenshot起作用

selenium.captureEntirePageScreenshot("\\test.png",""); 

而且得到了以下錯誤:

com.thoughtworks.selenium.SeleniumException: ERROR: Command execution failure. Please search the forum at http://clearspace.openqa.org for error details from the log window. The error message is: Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsILocalFile.initWithPath] 



可有人請說明爲什麼這個錯誤是發生?我已經試過如下:代替

1) 「」(字符串kwargs參數)與 「背景=#CCFFDD」

2)在鉻模式下運行在Firefox

3)改變了路徑下面的值,我仍然得到錯誤: 「\ test.jpg」, 「c:\ test.jpg」, 「c:\ test.png」, 「c:\ folder1 \ test.png 「,(folder1 exists) 」c:\ folder1 \ test.jpg「,

4)試過 - selenium.captureS creenshot( 「\ test.png」);它工作正常,但它不能解決我的目的,我不想使用awt。

有人可以建議什麼可能是錯的?

感謝,
無限

回答

0

要誰就可能關注,。問題解決後,我不停地擺弄一段時間的代碼,並重新啓動我的系統。我開始知道captureEntirePageScreenshot僅適用於絕對路徑,所以我確保我一直在嘗試。

1

試試這個:

String path = System.getProperty("user.dir"); 
selenium.captureEntirePageScreenshot(path + "\\test.png", ""); 
1

更重要的是......

我遇到了類似的問題,在這裏我只獲得了相對路徑,而不是絕對的。這裏是我想出瞭解決方案:

public void saveScreenshot(String methodName) { 
    if (methodName == null) { 
     methodName = String.valueOf(System.currentTimeMillis()); 
    } 
    File f = new File("reports" + File.separator + methodName + ".jpg"); 
    selenium.captureEntirePageScreenshot(f.getAbsolutePath(), ""); 
} 

這將對整個頁面的屏幕截圖到reports目錄是相對於項目。我將方法名稱用作文件名稱,如果將null發送到方法,則使用當前時間。

相關問題