ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

HttpRunner3源码阅读: 1. 目录结构分析

2021-08-02 18:34:01  阅读:283  来源: 互联网

标签:__ __. HttpRunner py init HttpRunner3 源码 测试 目录


初衷

身处软件测试行业的各位应该都有耳闻HttpRunner 开源测试工具/框架(接口测试),作者博客

为什么出这系列?

  1. 不少测试同行都建议阅读HttpRunner,源码学习其设计思想。
  2. 社区当下Python系的接口测试平台多是基于HttpRunner实现
  3. 个人想尝试阅读,并记录希望也能帮到你

HttpRunner依赖库

出自: https://github.com/httprunner/httprunner/blob/master/pyproject.toml
HttpRunner 使用了 poetry库 来进行包管理 和打包的操作

requests = "^2.22.0"    # 请求库
pyyaml = "^5.1.2"     # 解析yaml
jinja2 = "^2.10.3"    # 模板文件,生产测试文件
pydantic = "^1.4"     # 数据类型定义,类型校验
loguru = "^0.4.1"     # 日志
jmespath = "^0.9.5"   # json 提取
black = "^19.10b0"    # python 代码格式化工具
pytest = "^5.4.2"     # 单元测试框架
pytest-html = "^2.1.1"  # 简易html报告
sentry-sdk = "^0.14.4"  # 没get到xx[好像是版本相关的]
allure-pytest = "^2.8.16" # allure 报告
requests-toolbelt = "^0.9.1"  # 估计是上传文件用到的
filetype = "^1.0.7"   # 文件类型判断
locust = "^1.0.3"     # 协程实现的性能测试工具 [此次学习不带它]
Brotli = "^1.0.9"   # 压缩

1. 体验

# 安装
pip install httprunner

# 创建项目
httprunner startproject demo

# 运行项目
hrun demo

f9UiiF.gif

最终目录结构

该系列要阅读的内容

目录结构分析

│  cli.py       # 命令封装
│  client.py    # 请求方法逻辑
│  compat.py    # 处理testcase格式v2和v3之间的兼容性问题。
│  exceptions.py  # 自定义异常
│  loader.py    # 加载文件、环境变量、参数化
│  make.py      # 生产测试文件
│  models.py    # pydantic 数据模型定义
│  parser.py    # 解析自定义语法`$name`,`${func(5)}`
│  response.py  # 响应内容处理,断言逻辑
│  runner.py    # 执行/启动器
│  scaffold.py  # HttpRunner 脚手架
│  testcase.py  # 测试用例的方法封装
│  utils.py     # 工具类
│  __init__.py  # 部分包聚集地
│  __main__.py  # cli 的 测试启动文件
│
├─app     # FastAPI 应用程序 [可能和官方要出的平台有点关系]
│  │  main.py
│  │  __init__.py
│  │
│  └─routers
│     │  debug.py
│     │  debugtalk.py
│     │  deps.py
│     └─__init__.py
│ 
├─builtin
│  │  comparators.py
│  │  functions.py
│  └─__init__.py
│
└─ext
   │  __init__.py
   │
   ├─har2case     # har 文件 转 测试用例
   │  │  core.py
   │  │  utils.py
   │  └─__init__.py
   │          
   ├─locust      # 性能测试相关[本次略过]
   │  │  locustfile.py
   │  └─__init__.py
   │
   └─uploader  # 文件上传
      │  
      └─__init__.py

参考资料

感谢以下内容的作者

HttpRunner - 李隆 / debugtalk

HttpRunner3.x中文文档 - 在路上

微信公众号

标签:__,__.,HttpRunner,py,init,HttpRunner3,源码,测试,目录
来源: https://www.cnblogs.com/zy7y/p/15090956.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有