2016-06-11 80 views
-2

如何截取失敗的測試用例與測試用例名稱的截圖?例如: 假設測試用例名稱爲testVelifyLogin()。如果它失敗了,那麼我的屏幕截圖名稱應該是testVelifyLogin_time_date.jpgCapture screenshot

請幫助我如何做到這一點。

我已經寫了截屏代碼如下:

public void onTestFailure(ITestResult iTestResult) { 

     String path = System.getProperty("user.dir") + "\\TestOutput\\ScreenShots"; 

     DateFormat dateFormat = new SimpleDateFormat("HH_mm_ss_dd_MM"); 
     Calendar cal = Calendar.getInstance(); 
     String date = dateFormat.format(cal.getTime()); 
     File scrFile = ((TakesScreenshot) driver) 
       .getScreenshotAs(OutputType.FILE); 

     try { 
      FileUtils.copyFile(scrFile, new File(path,"screenshot_"+date+".jpg")); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

代替screenshot_我想測試用例名。

+0

你試過了什麼,結果是什麼?請閱讀如何提出一個好問題的幫助主題。您需要研究自己的問題,查找代碼示例等,並編寫自己的代碼來解決問題。如果你做了所有這些,但仍然無法解決問題,那麼請回過頭來編輯你的問題,並從你所做的研究中添加筆記,你試過的代碼縮減爲[mcve],結果是...任何錯誤消息等。包含任何相關的HTML並正確格式化HTML和代碼也非常重要。 – JeffC

回答

0

你會從ITestResult中得到它的對象。例如,

String testName = iTestResult.getName();