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 页面仍然是空的,它显示了已经运行了多少测试但没有附加报告。