java - ITestListener - ExtentReport

标签 java selenium automation testng

目前我正在使用 ExtentReport 生成自动化报告。

我使用 ExtentReport 的方式是使用 IReporter 实现在测试结束时生成报告,这很棒。

但是,现在我正在考虑创建一种在执行测试时监视测试的方法,而 IReporter 无法实现这一点。

我想使用 ITestListener 创建一个单独的监听器来获取实时结果。

有人用过 ExtentReport 吗?或者类似的东西?

任何有用的文章或正确方向的指南将不胜感激。

谢谢。

编辑:基本上需要一种方法来生成 ITestListener 实时控制台输出到实际的 HTML Reprot,我可以从那里而不是控制台查看测试进度

最佳答案

它应该看起来像:

import com.relevantcodes.extentreports.*;
import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.internal.IResultListener;

import java.util.Arrays;
import java.util.Locale;

/**
 * Created by andrey.smirnov on 14.06.2016.
 */
public class ExtentListener implements IResultListener {

    private ExtentReports reporter =  new ExtentReports("build/SimpleReport.html", true, DisplayOrder.NEWEST_FIRST, NetworkMode.OFFLINE, Locale.ENGLISH);
    private ExtentTest testReporter;


    @Override
    public void onTestStart(ITestResult result) {
        testReporter = reporter.startTest(result.getMethod().getMethodName(), "Some description");
        testReporter.log(LogStatus.INFO, "Starting test " + result.getMethod().getMethodName());
    }

    @Override
    public void onTestSuccess(ITestResult result) {
        testReporter.log(LogStatus.PASS, "Test PASSED");
        reporter.endTest(testReporter);
        reporter.flush();
    }

    @Override
    public void onFinish(ITestContext context) {
        reporter.close();
    }

   // Other interface methods
}

它将在每次测试完成时提供报告更新。请引用documentation关于测试并行运行。此外,最好将 ExtentReports 实例作为 TestNG 上下文属性传递,例如iTestContext.setAttribute("reporter",reporter) 并在监听器中使用它。

关于java - ITestListener - ExtentReport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37723538/

相关文章:

java - 如何开始一个新项目

java - 如何在单个异常中返回异常列表?

selenium - 是否必须安装 chrome 才能在 headless 模式下使用 Selenium chrome 驱动程序?

java - Maven 在某些组中运行测试

java - 将 php 转换为 java/android 数组

java - 如何从添加到 JLabel 的 JComponent 返回 XxxSize

Selenium 错误: This version of ChromeDriver only supports Chrome version 81 | My driver version is 81. 0.4044.69

javascript - 使用 Python 等待 Selenium 中所有资源加载

ios - 在 iOS 应用程序中制作不规则形状的可点击片段

java - 根据 xpath 元素中其他属性的条件获取属性值