如何将来自多个类文件的报告合并到1个范围报告测试中

问题描述 投票:2回答:2

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

我正在从包含我个人测试用例的Test类运行Web服务自动化测试。从这里开始,测试方法(更具体的任务)正在向实际调用Web服务的“调用者”伸出,然后返回对测试用例的响应。从那里测试用例验证响应。我这样编写它所以我可以在需要时使用一个调用者而不是复制代码。

但是,我现在遇到的问题是我的报告 - 我想从我的测试方法在范围报告中创建一个测试,但我也希望我的调用者类将诸如我的完整请求和响应之类的内容记录到同一个测试中所以我把所有的信息放在一个地方。

希望有意义,如果有什么我可以澄清,请告诉我。

c# qa extentreports selenium-extent-report
2个回答
1
投票

范围报告:3.1.5

参考绑定语言:Java

请根据c#绑定参考语法。

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

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

如果是调用者类,则仅在第一类中启动报告。将报告对象初始化为该。但是对象应该声明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, 

等等,您可以在单个报告中实现目标。


1
投票

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

以前我的所有范围报告都直接在我正在工作的课程中完成。我改变了我的方法并专门为我的报告创建了另一个课程。在这个课程中,我将所需的各种范围报告功能分解为各个方法。然后,从我的测试正在运行的任何类,我初始化我的报告类并调用我需要创建一个干净的报告的方法。对于前:

  1. 测试类: Report.Create报告 联系Caller课程
  2. 来电课程: Report.log的东西
  3. 测试类 报告和报告

最后,我得到了一份测试报告,我想从报告中记录的两个类中得到我想要的一切。

© www.soinside.com 2019 - 2024. All rights reserved.