2

我正在使用extentreports为我用 Java 和 Selenium 编写的测试添加报告。我注意到,如果 ExtentTest 有两个日志,“INFO”和“PASSED”,如果未捕获通过日志,它将被视为通过。我怎样才能改变它,如果一个测试没有通过,它会自动被标记为失败?

4

2 回答 2

4

默认情况下,无法更改行为以使测试用例失败。这是一个设计决策,每个测试框架都遵循(TestNG、Junit、NUnit 等),而不仅仅是范围报告。

假设是开始测试,它总是会通过。因此,即使您只有 Info 日志,测试用例也会被标记为通过。

但是,如果默认情况下假设测试失败,则在遇到 PASS 之前,测试仍然被视为 FAILED,因为,即使整个测试中的单个失败状态也无法通过测试,无论您有多少通过日志。

于 2015-12-31T01:54:59.850 回答
1

您没有提供用于范围报告的代码和版本的详细信息。假设您正在使用范围报告版本 2.40 并使用此代码:

@AfterMethod
public void tearDown(ITestResult result)
{
    if(result.getStatus()==ITestResult.FAILURE)
    {
    //hope u know how to create ExtenTest and ExtentReport instance 
    //logger is extent test instance
    logger.log(LogStatus.FAIL, "Title verification", image);


}

//report is ExtentReport instance
report.endTest(logger);
report.flush();

}
于 2015-12-31T11:30:36.757 回答