zoukankan      html  css  js  c++  java
  • Web自动化测试项目(四)测试报告

    测试报告生成

    使用HTMLTestRunner 生成测试报告

    本文使用的 HTMLTestRunner 来源于github:
    https://github.com/githublitao/HTMLTestRunner_Chart
    参考链接:
    http://tungwaiyip.info/software/HTMLTestRunner.html
    https://github.com/GoverSky/HTMLTestRunner_cn

    1. 把下载下来的HTMLTestRunner_Chart.py存放在utils目录里,并更名为HTMLTestRunnerChart.py
    2. 在run_case目录下创建run_login_case_report.py,测试登录用例集并生成报告
    ├── run_case
    │   ├── __init__.py
    │   ├── module_path.py
    │   ├── run_login_case.py
    │   └── run_login_case_report.py
    └── utils
        ├── __init__.py
        ├── HTMLTestRunnerChart.py
        ├── constants.py
        └── se_utils.py
    

    修改HTMLTestRunnerChart.py

    '
    '
    '
        def generateReport(self, test, result):
            report_attrs = self.getReportAttributes(result)
            generator = 'HTMLTestRunner %s' % __version__
            stylesheet = self._generate_stylesheet()
            heading = self._generate_heading(report_attrs)
            report = self._generate_report(result)
            self.path = os.path.splitext(self.stream.name)[0] + ".json"
            # 在这个方法下,添加下面一行代码,用于存储最近10次测试结果的Json
            self.path = self.path.rsplit('/', 1)[0] + '/WebUiTestRet.json'
    '
    '
    '
    

    run_login_case_report.py

    import unittest
    
    from module_path import *
    from test_case.test_login import TestLoginCase
    from utils.se_utils import Driver
    from utils.HTMLTestRunnerChart import HTMLTestRunner
    
    if __name__ == '__main__':
        cases = unittest.TestLoader().loadTestsFromTestCase(TestLoginCase)
        runner = HTMLTestRunner(
            title="测试报告名称",
            description="详细描述,例如测试的浏览器和环境",
            stream=open(report_path, "wb"),
            verbosity=2,
            retry=0,  #  retry,指定重试次数,如果save_last_try 为True ,一个用例仅显示最后一次测试的结果。
            save_last_try=True)
        runner.run(cases)
        # 所有用例运行完后关闭浏览器
        Driver.quit_driver()
        Driver.Driver = None
    

    根据HTMLTestRunner_Chart要求为test_login.py 增加fixture,以获取用例失败后的截图

    class TestLoginCase(unittest.TestCase):
    
        @classmethod
        def setUp(cls) -> None:
            cls.driver = Driver.get_driver()
    `
    `
    `
    

    小结

    • 根据Web自动化测试项目的流程,当你做到这里的时候,已经基本可以满足一般公司的Web自动化的需求


  • 相关阅读:
    list浅析
    C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏(catch不起作用)
    浅析C#线程同步事件-WaitHandle
    C#操作xml方法1
    C#简单的操作csv文件
    C#的int类型?,??,~的意思,string类型空值赋值
    将多个exc表格汇总于一个表格中
    C#禁止双击标题栏等操作
    c#泛型
    c#session
  • 原文地址:https://www.cnblogs.com/snailrunning/p/12236322.html
Copyright © 2011-2022 走看看