我在扩展报告中打印所有测试用例时遇到问题。我在测试用例文件中添加了两个测试用例,但是在范围报告中仅显示了最后一个测试用例。下面是我的代码。我正在使用TestNG执行测试用例。
Char
这是我运行测试用例的地方的testNG文件。
Any
答案 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中,因为您现在要使用每个新测试重新创建整个范围对象。