【问题标题】:Selenium automation reportSelenium 自动化报告
【发布时间】:2016-06-07 12:02:15
【问题描述】:

我正在使用 Selenium 框架来执行我的测试用例。 我需要一份即时报告,报告在整个套件当前正在执行时通过的测试用例。 例如:套件中有 100 个测试用例,其中 5 个已运行,其中 3 个通过,2 个失败,我需要这些即时报告,而套件正在进行中。你能帮我完成这个任务吗?

【问题讨论】:

  • 告诉我们您已经尝试过什么以及什么不起作用。请阅读stackoverflow.com/help/how-to-ask
  • 我确实有一个自动化套件,可以在代码执行后生成 testNG 和 ATReports,我可以在控制台中查看进度。但是我需要在套件执行时 tc 的通过/失败状态。

标签: selenium-webdriver automation testng


【解决方案1】:

您可以使用 ExtentReport。

您可以使用它来记录您的测试步骤,一旦完成,它将生成一份报告来显示您的结果。

对于您要查找的内容,ExtentReport 使用“刷新”。

如果您在每个测试步骤后调用此刷新,它将修改该步骤并创建报告。

这是我目前正在调查自己的事情,所以我不会认为这是一个答案,而是我自己偶然发现的事情,希望它有所帮助。

以下是如何通过示例在您的项目中设置 ExtentReports - http://www.ontestautomation.com/creating-html-reports-for-your-selenium-tests-using-extentreports/

您必须将它与测试运行程序一起使用,例如。 TestNG 或 JUnit。

因为您试图实现的目标与示例略有不同。您需要在每个测试步骤之后调用刷新,以便在步骤完成后而不是在所有测试完成时修改报告。这不是我以前做过的事情,但它向我解释如下

只需在每次测试后调用 .flush() 即可,而不是在测试运行结束时调用一次。但是您需要确保 ExtentReports 对象本身只初始化一次,而不是在每次测试开始时重新初始化。例如,我使用了 TestNG。 ExtentReports 使用@BeforeSuite 调用一次,但在每次测试后使用@AfterMethod 调用.flush()。我希望这是有道理的。

唯一无法通过代码解决的问题是 HTML 刷新,因为这超出了 ExtentReports 库的控制(它不知道您在哪里打开了实际的 HTML 文件)。但正如我所说,这可以通过使用一个简单的浏览器插件来解决。至少对于 Chrome 来说有很多,只需在 Google 上搜索“chrome auto refresh”即可。

希望这会有所帮助。如果您需要更多建议,请随时与我联系。

【讨论】:

  • 为我介绍新事物的升级率“ExtentReport”
  • 谢谢科林。所以你的意思是说,当前套件的通过/失败的即时状态只能在执行结束时生成?
  • 是的,如果您将报告用作记录器功能。我会进一步更新我的问题。
  • @GauravLad 谢谢。它是与您的 TestRunner 一起使用的一个非常好的功能,它的创建者非常有帮助。这是一个开源项目,因此您可以向他们提供您自己的建议,他们会将其添加到下一次更新中:)
  • @colin 谢谢,这是有道理的。 ATU 报告同样适用>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-06
  • 1970-01-01
  • 2020-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多