• Selenium基础 — TMLTestRunner测试报告


    目录

    1、HTMLTestRunner介绍

    2、HTMLTestRunner的使用

    3、测试报告示例

    4、封装成模块

    1、学习思路和方法

    2、想学习却无从下手,该如何学习?

    3、软件测试/自动化测试【全家桶装】学习中的工具、安装包、插件....

    4、有了安装包和学习资料,没有项目实战怎么办,我这里都已经准备好了往下看


    1、HTMLTestRunner介绍

    HTMLTestRunner是一个基于unittest单元测试HTML报告的第三库。

    2、HTMLTestRunner的使用

    1. 将下载好的HTMLTestRunner解压,把HTMLTestRunner.py放入Python安装目录的Lib文件下,

      如:F:\DevInstall\envs\python\python377\Lib(推荐)

      或者F:\DevInstall\envs\python\python377\Lib\site-packages都可以。

      (注:如果你有自己封装的测试框架,也可以放在框架中,当作工具类应引入也行。)

    2. 将HTMLTestRunner模块用import导入测试脚本文件中。

    3. 通过open()方法以二进制写模式'wb'打开当前目录下的测试报告.html,如果没有,则自动创建。

    4. 调用HTMLTestRunner模块下的HTMLTestRunner类,参数说明如下:

      • stream:指定测试报告文件
      • title:定义测试报告的标题
      • description:定义测试报告的副标题
      • verbosity:报告的详细程度,只有0、1、2 ,2为最详细。
    5. 通过HTMLTestRunner的run()方法来运行测试套件中的测试用例.

    3、测试报告示例

    1. """
    2. run_case.py
    3. 1.将需要执行的测试用例,添加到测试套件中
    4. 2.将用例执行结果生成HTML格式的测试报告
    5. HTMLTestRunner.py文件放置在python安装目录中的Lib目录中
    6. 备注:
    7. 运行结果三种:
    8. ok 表示用例执行通过
    9. F 表示用例执行失败
    10. E 表示代码错误
    11. """
    12. import os
    13. import unittest
    14. import HTMLTestRunner
    15. import time
    16. # 1.确定测试用例存放路径
    17. case_path = "./testcase"
    18. # 2.将测试文件夹中的测试用例添加到测试套件中
    19. discover = unittest.defaultTestLoader.discover(case_path, pattern="test*.py")
    20. # 3.执行测试用例并生成测试报告
    21. # 3.1 确定测试报告存放路径
    22. report_path = "./report"
    23. # 3.2 确定测试报告名称
    24. now = time.strftime("%Y_%m_%d %H-%M-%S")
    25. # 测试报告文件名
    26. report_file = report_path + "/" + now + "report.html"
    27. # 打开文件并写入数据
    28. with open(report_file, "wb") as fp:
    29. # 实例化
    30. """
    31. title:报告的标题
    32. description:报告的描述
    33. stream:执行结果全部卸载该文件纵
    34. verbosity:报告的详细程度,0.1.2 ,2为最详细
    35. retry:重试,这个功能是坏的,不能用。
    36. """
    37. runner = HTMLTestRunner.HTMLTestRunner(
    38. title="ECShop项目web自动化测试报告",
    39. description="ECShop登录功能",
    40. verbosity=2,
    41. stream=fp
    42. )
    43. runner.run(discover)

    4、封装成模块

    1. # coding=utf-8
    2. import time
    3. import os
    4. import unittest
    5. import HTMLTestRunner
    6. # 定位测试用例目录(可以再封装)
    7. project_dir = os.path.abspath(os.path.dirname(os.path.abspath(__file__)) + '\..')
    8. testcase_dir = project_dir + r"\testcase"
    9. def creatsuite():
    10. '''获取测试集'''
    11. # 搜索测试用例
    12. testcases = unittest.defaultTestLoader.discover(testcase_dir, pattern="test*.py", top_level_dir=None)
    13. return testcases
    14. def run(title=u'自动化测试报告', description=u'环境配置等信息'):
    15. """执行测试并生成报告"""
    16. # 如果没有测试报告目录自动创建
    17. for filename in os.listdir(project_dir):
    18. if filename == "reports":
    19. break
    20. else:
    21. os.mkdir(project_dir + r'\reports')
    22. # 执行测试用例并生成测试报告
    23. # 1 确定测试报告存放路径
    24. report_path = project_dir + r'\reports'
    25. print(report_path)
    26. # 2 确定测试报告名称
    27. now = time.strftime("%Y_%m_%d_%H-%M-%S")
    28. report_file = report_path + "\\" + now + "report.html" # 测试报告文件名
    29. # 打开文件并写入
    30. with open(report_file, "wb") as fp:
    31. # 实例化
    32. """
    33. title:报告的标题
    34. description:报告的描述
    35. stream:执行结果全部卸载该文件纵
    36. verbosity:报告的详细程度,0.1.2 ,2为最详细
    37. retry:重试,这个是坏的,不能用
    38. """
    39. runner = HTMLTestRunner.HTMLTestRunner(
    40. title=title,
    41. description=description,
    42. verbosity=2,
    43. stream=fp
    44. )
    45. runner.run(creatsuite())
    46. if __name__ == '__main__':
    47. run()
    48. """
    49. 封装成目录,如果需要生成报告的测试,
    50. 直接调用该模块中的run()方法即可。
    51. 例如:
    52. # 引入模块
    53. from util import TestRunnerReport
    54. # 执行测试用例
    55. TestRunnerReport.run(title='ewr',description='123131')
    56. 注意:这里只是提供一种封装的思路,仅供参考,
    57. 可以根据自己的情况按需封装。
    58. """

    最后我这里给你们分享一下我所积累和真理的文档和学习资料有需要是领取就可以了

    1、学习思路和方法

    这个大纲涵盖了目前市面上企业百分之99的技术,这个大纲很详细的写了你该学习什么内容,企业会用到什么内容。总共十个专题足够你学习

    2、想学习却无从下手,该如何学习?

    这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

    3、软件测试/自动化测试【全家桶装】学习中的工具、安装包、插件....

    4、有了安装包和学习资料,没有项目实战怎么办,我这里都已经准备好了往下看

    最后送上一句话:
    世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。
    如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦

  • 相关阅读:
    C++中memset函数与min_element(max_element)
    logging java日志选择
    Flutter热更新技术探索
    k8s 部署 mongodb 三种模式
    重学c#系列——动态类型[二十二]
    [附源码]java毕业设计医院仪器设备管理系统
    Web3中的自主权身份
    Echarts 教程二
    javaSE I/O流(二)—— 各种各样的流
    忆联SR-IOV解决方案:助力云数据中心节能提效,向“绿”而行
  • 原文地址:https://blog.csdn.net/m0_59868866/article/details/128043468