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 Base
公共类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页面仍然是空的,它显示已运行了多少测试但没有附加报告。
答案 0 :(得分:1)
原来我使用了错误的extentX distrubution。
从wbesite下载拉链时 - https://drive.google.com/open?id=0ByJmgAhaLx0GcmVYNkhBSThUcG8
有效