0

一直在尝试使用示例项目配置 Reportportal。已完成以下步骤:

    1.启动 Docker 并启动并运行报告门户页面。
    2.在Java项目中,添加bintray仓库、java-agent-testng、logger-java-log4j依赖。
    3.在项目中包含 log4j.properties 文件以及 reprortportal 的 log4j.appender 行
log4j.appender.reportportal=com.epam.ta.reportportal.log4j.appender.ReportPortalAppender
log4j.appender.reportportal.layout=org.apache.log4j.PatternLayout 
log4j.appender.reportportal.layout.ConversionPattern=[%d{HH:mm:ss}] %-5p (%F:%L) - %m%n
    4.包括@Test 方法之一的 log4j 信息行。
    5.运行测试脚本并确保在控制台上可以看到日志信息行。
    6.但是,reportportal 仪表板仍然显示“未找到结果”
    7.此外,为测试方法添加了以下行。
@Listeners({ReportPortalTestNGListener.class})
    8. 这引发了杰克逊的异常。

几个问题在我脑海中盘旋:

    1.我们需要TestNG和Log4j来与reportportal集成还是只需要其中一个就可以了。
    2. 完成以上步骤后,有没有遗漏的地方。为什么我在报告门户仪表板上看不到数据。
4

2 回答 2

1

我只使用 testNG 集成来做到这一点。我们确实有 log4j,但不需要它来在 RP 中发布测试。但是,我没有任何屏幕截图或附件。我认为这是 log4j 集成。

于 2019-02-23T16:24:54.157 回答
1

@Chethan Swaroop TestNG 集成会将事件作为testStarted,发送testEnded到 ReportPortal。

这将有助于在 RP 中表示测试用例的结构和状态。

Log4J 集成(logger appender)将日志输出转发到 RP 服务器,将日志行与当前活动的测试用例相关联。

你只能有 testNG 集成,没有日志(log4j),但你不能有 log4j,没有测试引擎集成(在你的情况下是 testNG)

请尝试使用本地 ReportPortal 实例的示例:

https://github.com/reportportal/example-java-TestNG/tree/master/logback/src/main/java/com/epam/rp/tests

于 2019-03-11T15:59:15.060 回答