Testng记录测试失败



我已经使用测试来运行测试用例。ITestResult监听器用于捕获测试状态,并在after方法中给出。请帮助为什么测试没有记录测试失败?

如果您想截取失败测试的屏幕截图,下面的代码可能会对您有所帮助。

  1. 您必须在xml测试套件中配置侦听器

    <listeners>
    <listener class-name="package.your.listener.ScreenshotListener" />
    </listeners>
    
  2. 实现你的监听器

    公共类ScreenshotListener扩展TestListenerAdapter {

    @Override
    public void onTestFailure(ITestResult result) {
    super.onTestFailure(result);
    if (!result.isSuccess()) {
    WebDriver driver = getDriverByResult(result);
    String methodName = result.getName();
    try {
    File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
    String reportDirectory = new File(System.getProperty("user.dir")).getAbsolutePath() + "/target/surefire-reports";
    File destFile = new File(reportDirectory + "/failure_screenshots/"
    + buildFileNameByMethod(methodName)+ ".png");
    FileUtils.copyFile(scrFile, destFile);
    Reporter.log("<a href='" + destFile.getAbsolutePath() + "'> <img src='" + destFile.getAbsolutePath() + "' height='100' width='100'/> </a>");
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    

最新更新