【问题标题】:Configuring Reportportal with Java +TestNG or Java + Log4j使用 Java +TestNG 或 Java + Log4j 配置 Reportportal
【发布时间】:2019-07-11 16:23:55
【问题描述】:

一直在尝试使用示例项目配置 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。完成上述步骤后,有没有遗漏的地方。为什么我在报告门户仪表板上看不到数据。

【问题讨论】:

    标签: log4j testng reporting test-reporting reportportal


    【解决方案1】:

    @Chethan Swaroop TestNG 集成将以testStartedtestEnded 的形式将事件发送到 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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 能否请您更深入地了解您的 testNG 与 ReportPortal 的集成,以及所有需要配置的内容和基本的工作流程。这会很有帮助
      • 来自文档:github.com/reportportal/agent-java-testNG 在我的情况下它是 gradle,所以我在 build.gradle 文件中添加了以下 repo:maven { url "dl.bintray.com/epam/reportportal" } 记录器的依赖项:编译“com.epam.reportportal:agent-java-testng:4.2.1” 编译“com.epam.reportportal:logger-java-logback:3.0.0” 编译“com.epam.reportportal:logger-java-log4j: 3.0.0" 监听器:监听器
      • 然后在src/main/resources 中添加reportportal.properies 文件,其中包含到您的门户的连接详细信息。 rp.endpoint = localhost:8080 rp.uuid = '从您的配置文件下拉选项卡中获取' rp.launch = '只是一个启动名称 rp.project = '您的项目名称' 同样,这不会发送附件/屏幕截图,因为这需要在记录器端实现。
      • 感谢@Stefanos Varsanis,再次尝试了您的建议,但没有成功。请帮我解决这个问题github.com/chethanr18/ReportPortalTest.git。这是我正在尝试的测试项目的链接。让我知道是否遗漏了什么。另请注意,我使用“Play with Docker”插件进行 Docker 设置。
      • 对此有什么想法吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      相关资源
      最近更新 更多