Selenium自动化报告

时间:2016-06-07 12:02:15

标签: selenium-webdriver automation testng

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

1 个答案:

答案 0 :(得分:1)

您可以使用ExtentReport。

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

对于您所寻找的内容,ExtentReport使用" flush"。

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

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

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

您必须与测试跑步者一起使用,例如。 TestNG或JUnit。

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

  

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

     

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

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