httprunner3源码解读(1)简单介绍源码模块内容「建议收藏」

httprunner3源码解读(1)简单介绍源码模块内容「建议收藏」前言最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于httprunner1.5.8测试框架,1.0和3.0差距还是很大的,所以自己想集成个3.0的平台,既然要继承,读懂源码必不可少
 

源码目录结构

我们先来看下源码的目录结构
httprunner3源码解读(1)简单介绍源码模块内容「建议收藏」
 

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

一些工具函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165357.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • smallint是sql的数据类型吗_char数据类型

    smallint是sql的数据类型吗_char数据类型环境:SQLServer2008R2 使用整数数据的精确数字数据类型。

    2025年12月2日
    6
  • nginx与tomcat配合部署web工程接口访问报414 Request-URI Too Large错误

    nginx与tomcat配合部署web工程接口访问报414 Request-URI Too Large错误首先查看nginx配置nginx.conf调节http模块以下参数值client_header_buffer_size512k;large_client_header_buffers4512k;如接口正常访问项目即修改有效;若报出"(104: Connection reset by peer) while connecting to upstream"继续检查tomcat下…

    2022年6月4日
    70
  • 币圈新手入门教程 怎么样投资数字货币[通俗易懂]

    币圈新手入门教程 怎么样投资数字货币[通俗易懂]普通人怎么投资数字货币?最近和几位朋友聊到数字货币,发现很多人虽然都想入场交易,但实际上还不是很了解这个东西,这对于新手来说,是非常危险的!笔者尽管现在主要做的是外汇,但是曾经也炒币有一段时间,今天就以自己的经验,给各位币圈新手做个入门普及。数字货币说到数字货币,先要了解区块链,数字货币实际上是区块链的一个产物,数字货币都是由区块链技术产生的,而区块链技术近几年的快速发展,也推动了数字货币…

    2022年8月29日
    3
  • TextMate介绍[通俗易懂]

    TextMate介绍[通俗易懂]Mac平台非常著名的文本/代码编辑器TextMate宣布开源,源代码已经托管到GitHub网站,同时公布了完整的编译方法。https://github.com/textmate/text

    2022年7月4日
    26
  • android之switch控件的用法

    在做一个蓝牙开关时候,用到了switch,记一下用法,其实跟Button是几乎一样的.布局中:<Switch android:id=”@+id/open” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android…

    2022年3月10日
    44
  • 语义分割看这一篇就够了!「建议收藏」

    语义分割看这一篇就够了!「建议收藏」语义分割技术综述本文就ImageSegmentationUsingDeepLearning:ASurvey第三章的模型进行了分析和介绍,第一第二章的基础指示可以看原文进行学习,相关知识有很多这里就不班门弄斧了。最好是一边读原文一边看本文效果更佳原文连接能力有限,水平一般,抱着学习的态度分享此文,有不准确的地方还请各位大佬斧正!3.1全连接网络关于FCN的资料有很多这里就不…

    2022年8月21日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号