【问题标题】:Customerized Extent Report客户化程度报告
【发布时间】:2021-12-13 13:49:42
【问题描述】:

我在 3 次范围报告中运行我的测试一个 api 显示它:

  • 用户创建1
  • 用户创建2
  • 用户创建3

这样

我想自定义范围报告

  • 用户创建
    • 用户创建 1
    • 用户创建 2
    • 用户创建 3

我想使用下拉到主用户箱?谁能帮帮我?

【问题讨论】:

  • 我认为您需要在运行时在方法名称后添加数值
  • 是的。它做到了。但我想以上述方式显示报告
  • 我编辑我的问题

标签: java extentreports


【解决方案1】:

将 ITestContext 对象传递给您的 @BeforeMethod 并使用 setAttribute 将修改后的名称设置到上下文对象中。您应该设置一个 if-else 条件以防名称未更改,因为某些测试不使用 DataProvider,因此名称不会更改。

static int counter=0;

@BeforeMethod
public void BeforeMethod(Method method, Object[] testData, ITestContext ctx) {
   if (testData.length > 0) {
      testName.set(method.getName() + "_" + testData[0]);
      ctx.setAttribute(testName.get()+counter++);
   } else
      ctx.setAttribute("testName", method.getName());
}

然后在您的报告类中,您需要使用以下用法通过 iTestResult 对象获取修改后的名称。

@Override
public void onTestStart(ITestResult iTestResult) {

    testWatcher.set(extent.createTest(iTestResult.getTestContext().getAttribute("testName").toString()));

}

然后您的 Extent 报告将读取此测试结果

参考link

link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    相关资源
    最近更新 更多