【问题标题】:Extent Report Framework -How to get the Values Stored in Extent report Log Function范围报告框架-如何获取存储在范围报告日志功能中的值
【发布时间】:2018-11-27 15:08:55
【问题描述】:

我们在我的项目中使用范围报告。我想访问运行时存储的值。例如在测试用例的 catch 块中,我有一行 Log(Failure,"faiure comments")

在 finally 块中,我试图创建一个函数,如果测试用例失败,我将需要使用 log 函数的值并将其存储用于某种目的。

有可能吗?我在 POM 框架中使用带有 selenium 的 java。

【问题讨论】:

  • 人们可能需要比这更多的信息。 FailureThrowable 吗?它只是一个String等吗?这是什么Log 方法(它来自什么类等)?您可以使用ThreadLocals(以及其他许多东西)来完成此任务,但您可能需要在您的Log 方法来自的任何地方进行子类化/修改。或者您可以添加某种形式的方面来为您处理此问题;但我不会推荐它。
  • 嗨,我指的日志方法是 logger.log(LogStatus.INFO,"String Message to Log for Each Step in Test Case");这是 Extendreport Jar 的一部分
  • 我们确实可以查看您当前的代码,这将帮助我们准确确定需要更改的内容。
  • 我一到办公室就会把代码贴出来。

标签: java report extentreports


【解决方案1】:

如果你使用的是版本 4,你可以这样做:

extent.getStats()

钻取整个运行会话的每个数据点。钻取单个数据点,例如当前测试的最后一个日志:

test.getModel().getLogContext().getLast().getStatus()

但我宁愿建议您使用 TestNG 或 Junit 等测试框架,并改为听取这些提供的上下文。使用 Extent 来做同样的事情是可行的,但我认为使用您的测试框架会更直观、更高效。

附言。是范围,不是扩展。

【讨论】:

  • 非常感谢。我今天会试试这个
  • 您好,检查了我的 Extent 版本,它只有 2.41.1 。我可以使用其他类似的方法吗?
  • 我们也使用 log4j 版本 2.8.2 。我们可以用 log4j 实现这一点吗?
  • 实际上建议升级到版本 4。版本 2 不再受支持。 Log4j,你不能那样做。为此请使用 TestNg 或 Junit。
猜你喜欢
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多