使用Java + TestNG或Java + Log4j配置Reportportal

时间:2019-02-18 10:02:45

标签: log4j testng reporting test-reporting reportportal

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

    1。启动Docker并启动并运行reportporal页面。
    2。在Java项目中,添加了Bintray存储库,java-agent-testng,logger-java-log4j依赖项。
    3。项目中包含的log4j.properties文件以及用于重新报告的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。但是,报告门户仪表板仍然显示“未找到结果”
    7。此外,在“测试方法”中添加了以下行。
@Listeners({ReportPortalTestNGListener.class})
    8。这给杰克逊带来了例外。

我脑海中浮现出几个问题:

    1。我们是否需要将TestNG和Log4j都与reportportal集成,还是只需其中之一就可以了。
    2。完成上述步骤后,是否有任何遗漏的内容。为什么我在报告端口仪表板上看不到数据。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

@Chethan Swaroop TestNG集成会将事件以testStartedtestEnded的形式发送到ReportPortal。

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

Log4J集成(记录器附加程序)会将日志输出转发到RP服务器,此刻将日志行与活动的测试用例相关联。

您只能进行testNG集成,而没有日志(log4j),但是如果您没有测试引擎集成,则不能具有log4j(在您的情况下为testNG)

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

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