2016-06-11 74 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();