跳过测试用例详细信息不会在ExtentReports中刷新。更正以下程序

时间:2016-12-12 17:21:24

标签: selenium-webdriver

**在ExtentReport中没有刷新跳过测试用例的详细信息。这是我的示例代码。我正在使用ExtentReports依赖版本< 2.40.2>。 根据下面的代码,一旦myTest()方法失败,依赖测试应该在ExtentReport中报告为跳过,但我只能看到传递的测试用例详细信息。没有关于跳过测试用例的详细信息。 建议我所需的更改或更新。 **

package mypackage;

import org.testng.Assert;
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.ExtentTest;
import com.relevantcodes.extentreports.LogStatus;

public class ExtentTestLogs
{ 
  ExtentReports report;
  ExtentTest logger;

    @BeforeMethod
    public void startTest() {
        report = new ExtentReports("E:\\Reports\\ExtentTestLogs.html", false);
        logger = report.startTest("log report is started");
        logger.log(LogStatus.INFO, "Before method");
    }
    @Test
    public void sampleTest(){
        logger.log(LogStatus.PASS, "sample test is executed");
    }
    @Test
    public void myTest(){
        Assert.assertTrue(false);
    }
    @Test(dependsOnMethods={"myTest"}) //skipped test
    public void skippedTest(){
        logger.log(LogStatus.INFO, "Skipped Test information");
    }
    @AfterMethod
    public void endTest(ITestResult result) {
        if(result.getStatus() == ITestResult.FAILURE){
            logger.log(LogStatus.FAIL,"This test is failed");
            report.endTest(logger);
            report.flush();
        }
        if(result.getStatus() == ITestResult.SUCCESS ){
            logger.log(LogStatus.PASS, "This test is Passed");
            report.endTest(logger);
            report.flush();
        }
        if(result.getStatus() == ITestResult.SKIP){
            logger.log(LogStatus.SKIP, "This test is skipped");//Expecting logger
            report.endTest(logger);
            report.flush();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

flush()“在HTML文件中附加所有已结束的测试。”

close()需要在结束测试后调用并调用flush才能刷新报告。

尝试在代码中的flush()之后添加report.close()。

参见: http://extentreports.relevantcodes.com/java/