在测试自动化中实现html报告

pyhtmlreport的Python项目详细描述


pyhtmlreport

通常开源测试自动化项目缺乏一个好的报告解决方案,pyhtmlreport通过创建html报告来解决这个问题,并将输出表示为带有屏幕截图的步骤。

要求

  • 需要Python3.7或更高版本。
  • 访问Internet时,MaterializeCSS(https://materializecss.com/)用于设置HTML报表的样式并通过CDN访问。

如何安装

pip install pyhtmlreport

入门指南

一旦你安装了pyhtmlreport-你如何开始?

  • 导入报表类并创建报表实例。
  • 调用设置方法。
    参数
    • report folder:包含所有测试报告的根报告文件夹。
    • module name:应用程序、应用程序内的模块或函数的名称。
    • release name:应用程序发布周期。
    • EM1}$最大截图:默认情况下,报表实例的屏幕截图数量为1000。此参数可用于增加数字。
    • selenium webdriver:使用枕头库拍摄屏幕截图。如果提供了selenium webdriver的实例,那么brower视区将使用selenium的save_screenshot方法作为屏幕快照。
  • 使用write_step方法开始写入测试报告。第一步应该是start状态,它向报表实例发出测试开始的信号。
    参数
    • step:描述(预期或实际的步骤描述)。
    • status:开始、通过、失败和警告。
    • screenshot:用于捕获步骤的屏幕快照的可选标志。
  • 最后调用generate_report方法生成html报告。
frompyhtmlreportimportReportfromselenium.webdriverimportChromefromselenium.webdriver.common.keysimportKeysreport=Report()driver=Chrome()report.setup(report_folder=r'D:\Automation\Reports',module_name='Google',release_name='Release 1',selenium_driver=driver)driver.get('https://www.google.com/')try:# Start of Testreport.write_step('Testing Search functionality',status=report.status.Start,test_number=1)search_box=driver.find_element_by_css_selector('input[aria-label="Search"]')search_box.send_keys('pyhtmlreport is Awesome')search_box.send_keys(Keys.ENTER)# Test Stepsresults=driver.find_elements_by_css_selector('div[id="search"] div[class="g"]')assertlen(results)>1report.write_step('Google Search returned more than 1 results',status=report.status.Pass,screenshot=True)exceptAssertionError:report.write_step('Google Search did not return any result',status=report.status.Fail,screenshot=True)exceptExceptionase:report.write_step(f'Something went wrong during execution!</br>{e}',status=report.status.Warn,screenshot=True)finally:report.generate_report()driver.quit()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
来自外部源系统的AWS Lambda java下载源代码   为什么默认方法在Java8中包含接口,而不是向集合框架添加额外的接口?   Java中带有动态接口的代理   javac无法从命令行运行java类   如何使用iText将XHTML嵌套列表转换为pdf?   javagae/J联邦身份验证与无限递归   java Spring@Qualifier不起作用,但@Resource起作用?   java在对话框打开时显示toast?   windows以编程方式向启动添加Java应用程序   java JavaFX代码无法连接到jersey web服务   Java对象上的多边形LWJGL纹理   有问题的十进制格式。Java中的parse()   java如何使用@RestController以纯文本形式返回简单的布尔值?   将java web服务代码从java 1.4升级到java 1.7时web服务出错