如何在范围报告中捕获所有测试用例?

时间:2018-10-02 13:02:46

标签: java selenium testng extentreports

我在扩展报告中打印所有测试用例时遇到问题。我在测试用例文件中添加了两个测试用例,但是在范围报告中仅显示了最后一个测试用例。下面是我的代码。我正在使用TestNG执行测试用例。

Char

这是我运行测试用例的地方的testNG文件。

Any

2 个答案:

答案 0 :(得分:3)

正如在BeforeMethod中定义的那样,它将被Last @Test覆盖。您需要传递一些区别才能同时拥有这两个报告。

就像,您可以使用Count变量

public class TC02_Login extends BaseClass {

        ExtentReports extent;
        ExtentTest logger;
        WebDriver driver;
        int count = 1;

        @BeforeMethod
        public void createReport() {
            ExtentHtmlReporter reporter = new ExtentHtmlReporter("./Reports/finalReport"+ count + ".html");
            extent = new ExtentReports();
            extent.attachReporter(reporter);
        }

    @AfterMethod
    public void teardown(ITestResult results) throws IOException {
    count++;
    }
}

有很多方法可以做到这一点。您可以使用的一种方法是在每个@Test中使用相关的测试名称来调用每个Report。

答案 1 :(得分:1)

这是因为@BeforeMethod中的逻辑应该在@BeforeClass或@BeforeSuite中,因为您现在要使用每个新测试重新创建整个范围对象。