如何将来自多个类文件的报告合并为一个数据块报告测试



我正在寻找一种方法,将我在多个类中生成的报告合并为一个报告中的一个测试。注意:我不想合并报告,这是一个单独的问题。

我正在一个包含我个人测试用例的测试类中运行web服务自动化测试。从这里开始,测试方法(更具体地说是任务(正在向";呼叫者";其实际调用web服务,然后返回对测试用例的响应。测试用例从那里验证响应。我是这样写的,这样我就可以让许多测试在需要时使用一个调用程序,而不是复制代码。

然而,我现在遇到的问题是我的报告——我想用我的测试方法在扩展报告中创建一个测试,但我也希望我的调用者类将我的完整请求和响应等内容记录到同一个测试中,这样我就可以将所有信息放在一个地方。

我最终能够找到我的解决方案:

以前,我的所有范围报告都是直接在我工作的班级里完成的。我改变了我的方法,专门为我的报告创建了另一个班级。在这个类中,我将我需要的各种范围报告函数分解为单独的方法。然后,从测试运行的任何类中,我初始化报告类,并调用创建干净报告所需的方法。例如:

  1. 测试类别:
    • 报告。创建报告
    • 联系呼叫方类
  2. 调用方类:
    • Report.log什么的
  3. 测试等级
    • Report.end报告

最后,我得到了一个测试报告,报告中记录了我想要的两个类的所有内容。

扩展报告:3.1.5

参考绑定语言:Java

请根据c#绑定引用语法

您必须创建公共静态变量,如:

public static ExtentHtmlReporter htmlReport;
public static ExtentReports extentReport;
public static ExtentTest testlog;

仅在第一个类中启动Report,如果它的调用者类。请将中的报表对象初始化为。但对象应该声明Static,以便将其用于不同的类。

htmlReport = new ExtentHtmlReporter("reportName.html");
extentReport = new ExtentReports();
extentReport.attachReporter(htmlReport);
testlog = extentReport.createTest("Test Method 1");
Logs for that method, 

若要继续使用相同的报表,您需要使用相同的对象继续。现在如果它是不同的类,只需从创建不同的测试开始:

testlog = extentReport.createTest("Test Method 2");
Logs for that method, 

等等,你可以在单一报告中实现目标。

最新更新