httprunner源码解读

1,073 阅读1分钟

httprunner整体工程目录结构

HTTPRUNNER
│  cli.py                           --命令行参数处理入口,解析命令行执行的参数来执行测试
│  client.py                        --封装了requests库的一些处理逻辑,如ApiResponse,HttpSession处理
│  compat.py                        --处理testcase格式v2和v3之间的兼容性问题。
│  exceptions.py                    --可以自定义一些异常处理逻辑
│  loader.py                        --加载文件、环境变量、参数化
│  make.py                          --生成pytest测试文件
│  models.py                        --pydantic 数据模型定义
│  parser.py                        --解析自定义语法,比如,后置hook中的引用的debugtalk中函数的解析`$name`,`${func(5)}`
│  response.py                      --响应内容处理,断言逻辑
│  runner.py                        --执行/启动器
│  scaffold.py                      --快速生成HttpRunner工程的脚手架 命令:httprunner startproject demo
│  testcase.py                      --测试用例的方法封装
│  utils.py                         --工具类
├─app
│  │  main.py
│  ├─routers
│  │  │  debug.py
│  │  │  debugtalk.py
│  │  │  deps.py
├─builtin
│  │  comparators.py                --断言方法的实现
│  │  functions.py                  --获取随机字符串,获取时间戳,sleep函数封装
├─ext
│  ├─har2case                       --har文件转pytest,yaml,json用例都可以,可以自己再扩展一个实现批量转
│  │  │  core.py
│  │  │  utils.py
│  ├─locust                         --locust性能测试的封装,使httprunner用例直接就能支持运行locust压力测试
│  │  │  locustfile.py
│  ├─uploader                       --文件上传的实现