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自动化的需求


  • 相关阅读:
    mq和kafaka架构方面对比高可用性
    一 mq简介
    gtibook 写api文档
    StackExchang.Redis 不稳定
    Log4Net 帮助类
    Android学习之Recyclerview
    《程序员修炼之道--从小工到专家》读书小计
    Xcode7 使用WebView loadRequest发送HTTP请求的问题
    ashx中应用HttpContext.Current.Session ,呈现未将对象引用设置到实例(转)
    Oracle 删除重复数据只留一条【转】
  • 原文地址:https://www.cnblogs.com/snailrunning/p/12236322.html
Copyright © 2011-2022 走看看