httprunner3源码解读(1)简单介绍源码模块内容

2021/11/4 22:09:53

本文主要是介绍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

主要集成参数使之生效在测试用例中,如configrequestteststep等等,构成一个可用的用例
 

models.py

定义各种model类,以BaseModel为父类
 

parser.py

各种解析方法,主要用于数值类型判断后自动转换
 

response.py

处理响应报文格式.
 

runner

运行项目的核心
 

scaffpld.py

创建项目脚手架,生成框架的基本模板
 

testcase

测试用例的信息
 

utils.py

一些工具函数



这篇关于httprunner3源码解读(1)简单介绍源码模块内容的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程