0

extentX 看起来像是完美的解决方案,是测试结果的集合。

但是,我已按照所有说明进行操作并启动并运行所有内容,但似乎测试信息似乎没有到达范围页面。

它是空的。我可以从仪表板中看到测试已经运行,但该项目是默认的,单击它们不会显示任何信息,但我可以看到它正在获取一些数据,因为它显示了已经运行了多少测试以及通过了多少信息。

有什么明显的我做错了吗?

我可以看到标准范围报告工作得很好,但它似乎确实被传递到了 extentX 服务器。

我目前正在本地运行所有内容,作为概念证明。

我正在使用 3.0.1 版的 extentreports

如果有人知道在单个集线器上显示多个测试报告的任何替代方法,将不胜感激。


使用以下页面 - https://github.com/anshooarora/extentreports-java/issues/652#issuecomment-254078018

我设法走得更远,但现在我收到以下错误

java.lang.ExceptionInInitializerError 在以下行

ExtentTest parent = ExtentTestManager.createTest(testName);

这是我的 TestNG 基础

公共类TestBase {

private String uri;
protected Logger APPLICATION_LOGS = LoggerFactory.getLogger(getClass());
private static ExtentReports extent;
private ThreadLocal<ExtentTest> parentTest;
private ThreadLocal<ExtentTest> test;
public static ExtentTest childTest;

protected String getUri() {
    return uri;
}

@BeforeSuite
@Parameters({"env"})
public void initialiseReport(String env) {

    ExtentXReporter extentxReporter = new ExtentXReporter("localhost:27017");
    ExtentHtmlReporter htmlReporter = new ExtentHtmlReporter(("user.dir") + "/target/ExtentReports.html");


    extentxReporter.config().setServerUrl("localhost:1337");
    extent = new ExtentReports();
    extent.attachReporter(htmlReporter, extentxReporter);
}

@BeforeClass
@Parameters({"protocol", "env", "server", "port", "endPoint", "testName"})
public void initialiseURI(String protocol, String env, String server, String port, String endPoint, String testName) {
    uri = protocol + env + "." + server + ".mcom:" + port + "/" + endPoint;
    APPLICATION_LOGS.debug("Will use the following URI: " + uri);

    baseURI = uri;
    given().when().post().then().statusCode(200);

    ExtentTest parent = ExtentTestManager.createTest(testName);
    parentTest.set(parent);

}

@BeforeMethod
public final void beforeMethod(Method method) {

    childTest = parentTest.get().createNode(method.getName());
    test.set(childTest);

}

@AfterMethod
public void afterMethod(ITestResult result) {
    switch (result.getStatus()) {
        case ITestResult.FAILURE:
            childTest.fail(result.getThrowable());
            break;
        case ITestResult.SKIP:
            childTest.skip(result.getThrowable());
            break;
        case ITestResult.SUCCESS:
            childTest.pass("Passed");
            break;
        default:
            break;
    }
}

@AfterSuite
public void completeReport() {

    ExtentManager.getExtent().flush();
}

}


使用这个 git 项目设法让它工作

https://github.com/saikrishna321/extent_reports

但是我的 extentX 页面仍然是空的,它显示了已经运行了多少测试但没有附加报告。

4

1 回答 1

1

原来我使用了错误的 extentX 分布。

从 wbesite 下载 zip 时 - https://drive.google.com/open?id=0ByJmgAhaLx0GcmVYNkhBSThUcG8

有效

于 2016-12-16T13:57:22.517 回答