httprunner3源码解读(1)简单介绍源码模块内容
前言
最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于httprunner1.5.8测试框架,1.0和3.0差距还是很大的,所以自己想集成个3.0的平台,既然要继承,读懂源码必不可少
源码目录结构
我们先来看下源码的目录结构
app
是一个Python package
,这部分主要使用了fastapi
框架
├── __init__.py
├── main.py
└── routers
├── __init__.py
├── debug.py
├── debugtalk.py
└── deps.py
builtin
这个包做了一些内置的功能
├── __init__.py
├── comparators.py
└── functions.py
- comparators:内置验证校验器
- functions:内置的一些方法
ext
在httprunner
基础上集成了别的插件
├── __init__.py
├── har2case
│ ├── __init__.py
│ ├── core.py
│ └── utils.py
├── locust
│ ├── __init__.py
│ └── locustfile.py
└── uploader
├── __init__.py
- har2case:将
.har
生成一个测试用例,支持yaml/json/pytest
- locust:集成了
locust
性能测试 - uploader:集成了上传文件的功能
cli.py
命令行驱动执行
client.py
客户端相关方法,主要是封装 requests
.Session.request
,安全调用,输出log等, 给runner.py
调用.
compat.py
提供各种处理兼容性的方法,包括让v2版本的用例能在v3版本继续运行的相关转换方法
exceptions.py
定义了失败类型的异常信息
loader.py
加载文件内容的方法
make.py
主要集成参数使之生效在测试用例中,如config
、request
、teststep
等等,构成一个可用的用例
models.py
定义各种model类,以BaseModel
为父类
parser.py
各种解析方法,主要用于数值类型判断后自动转换
response.py
处理响应报文格式.
runner
运行项目的核心
scaffpld.py
创建项目脚手架,生成框架的基本模板
testcase
测试用例的信息
utils.py
一些工具函数
分类:
httprunner3源码解读
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具