我无法将完整的测试结果推送到范围报告中 - 使用 2.4 发行版。基本上我在每个类文件中有 2 个测试 1 个测试,并且有一个“SimpleReportFactory”作为我的基础报告器。
当我通过 testng.xml 运行测试时,只有最后一个测试被捕获,请帮助解决这个问题,我检查了其他帖子,我找到的答案很少,但未能应用它。我需要一个工作示例,我可以在其中使用范围报告实例并在测试中使用它并为所有测试生成 1 个报告。
我的第二个测试类出现空指针异常,当我通过 testng xml 运行以下测试时,它是一个基于框架的测试!这是我发现的帖子之一(无法在 ExtentReport 中添加两个类的结果),我试图实施给出的建议,但它给了我 NPE!不确定如何实现实例并在全局范围内使用它。
public class SimpleReportFactory {
public static ExtentReports reporter;
public static synchronized ExtentReports getReporter () {
if (reporter == null) {
reporter = new ExtentReports("SimpleReport.html", true, DisplayOrder.NEWEST_FIRST);
}
return reporter;
}
public static synchronized void closeReporter() {
reporter.flush();
reporter.close();
}
}
public class Registration extends BaseClass {
public ExtentReports reporter = SimpleReportFactory.getReporter();
@BeforeMethod
public void setUp() throws IOException {
intialize();
}
@Test
public void TestUserRegistration() throws Exception {
ExtentTest testreporter = reporter.startTest("TestUserRegistration");
WebElement ProfileLink = getWebElement("profilepage.createaccount.profilelink");
ProfileLink.click();
testreporter.log(LogStatus.INFO, " Click on the Profile Link from HomePage");
RandomEmail();
driverwait(1);
WebElement Password = getWebElement("profilepage.createaccount.password");
Password.sendKeys(Repository.getProperty("password"));
driverwait(1);
WebElement SubmitButton = getWebElement("profilepage.createaccount.submitbutton");
SubmitButton.click();
reporter.endTest(testreporter);
}
@AfterMethod
public void testDown() {
CloseBrowser();
reporter.close();
}
}
public class SignIn extends BaseClass {
ExtentReports reporter;
@BeforeMethod
public void setUp() throws IOException {
intialize();
}
@Test
public void LoginToTheApplication() throws Exception {
ExtentTest testreporter = reporter.startTest("LoginToTheApplication");
WebElement profilelink = getWebElement("profilepage.signin.profilelink");
profilelink.click();
testreporter.log(LogStatus.INFO, "Hey");
WebElement signinemail = getWebElement("profilepage.signin.emailaddress");
signinemail.sendKeys(Repository.getProperty("signinemailaddress"));
driverwait(1);
WebElement signinpassword = getWebElement("profilepage.signin.password");
signinpassword.sendKeys(Repository.getProperty("signinpassword"));
driverwait(1);
WebElement clicksubmit = getWebElement("profilepage.signin.submitbutton");
clicksubmit.click();
reporter.endTest(testreporter);
}
@AfterMethod
public void testDown() {
CloseBrowser();
reporter.close();
}