在测试自动化中实现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第三方库


热门话题
java Thumbnailator库将图像转换为cmyk   Java反射从目录中的类运行测试   JavaEclipseJDT编译器说方法未定义,但EclipseIDE没有   重构如何重构一行重复的java代码   java Eclipse:使用删除线文本呈现自定义注释   java问题与ArrayList复制数据   java如何在swagger中传递访问令牌?   使用另一个java文件运行java文件时出错   java为什么谷歌云存储生成的上传链接在成功上传后不会失效?   java将我的客户端PC重定向到默认登录页面   java hibernate c3p0配置mysql问题   java和java之间的区别。尼奥。文件文件和java。伊奥。文件   列出java循环并向映射中添加值   java为什么OJ报告这段代码的运行时错误?