来自多个testng.xml文件的黄瓜范围报告

时间:2020-02-28 13:04:28

标签: java testng cucumber-java extentreports selenium-extent-report

我想为每个testng.xml文件生成黄瓜范围报告。

我有2个测试类,如下所示:

Class1:

@CucumberOptions(features={"src//test//java//features1"},
                glue={"stepdefinition"},
                tags={"@feature1,"},
                plugin = {"com.cucumber.listener.ExtentCucumberFormatter:target/cucumber-reports/report1.html"},
                monochrome = true)

@Test
public class Class1 extends AbstractTestNGCucumberTests{

    @AfterClass
    public void writeExtentReport() throws Exception {
        Operations operation=new Operations();
        Reporter.loadXMLConfig("/extent-config.xml");
        operation.getPerformanceResult();
    }

}

Class2:

@CucumberOptions(features={"src//test//java//features2"},
                glue={"stepdefinition"},
                tags={"@feature2,"},
                plugin = {"com.cucumber.listener.ExtentCucumberFormatter:target/cucumber-reports/report2.html"},
                monochrome = true)

@Test
public class Class2 extends AbstractTestNGCucumberTests{

    @AfterClass
    public void writeExtentReport() throws Exception {
        Operations operation=new Operations();
        Reporter.loadXMLConfig("/extent-config.xml");
        operation.getPerformanceResult();
    }

}

TestNG.XML文件:: Class1.xml ::

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Regression">
    <test name="Window">
        <classes>
            <class name="Class1"></class>
        </classes>
    </test>
</suite>

TestNG.XML文件:: Class2.xml ::

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Regression">
    <test name="Window">
        <classes>
            <class name="Class2"></class>
        </classes>
    </test>
</suite>

Java Main Method类:

class RunCucumber {
    public static void main(String s[]) {
        List<String> suite = new ArrayList<>();
        suite.add(System.getProperty("user.dir")+"/"+testClass);
        TestNG testng = new TestNG();
        testng.setTestSuites(suite);
        testng.setOutputDirectory(System.getProperty("user.dir")+File.separator+"target"+File.separator+testClass);
        testng.run();
    }
}

现在,当我从main方法运行XML文件时,2个驱动程序成功启动并完美执行。但是就报告而言,仅生成1个报告,其名称与执行的第一个类中定义的名称相同。

另一个班级的报告将附加到第一个班级,并且没有单独的输出。

我尝试运行如下测试:

  1. 运行cucumber.api.cli.Main

  2. 使用定义了多个<<“ class” >>的单个XML文件运行

  3. 使用带有testng.run()选项的java main方法运行

所有执行仅产生一个结果文件。请对此提供帮助。

0 个答案:

没有答案