在测试自动化中实现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方法作为屏幕快照。
参数
- step:描述(预期或实际的步骤描述)。
- status:开始、通过、失败和警告。
- screenshot:用于捕获步骤的屏幕快照的可选标志。
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()