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

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

models.py

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

parser.py

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

response.py

处理响应报文格式.
 

runner

运行项目的核心
 

scaffpld.py

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

testcase

测试用例的信息
 

utils.py

一些工具函数

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

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

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


相关推荐

  • em算法在高斯混合模型中的应用_高斯分布概率计算公式

    em算法在高斯混合模型中的应用_高斯分布概率计算公式一个例子高斯混合模型(GaussianMixedModel)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况(或者是同一类分布但参数不一样,或者是不同类型的分布,比如正态分布和伯努利分布)。如图1,图中的点在我们看来明显分成两个聚类。这两个聚类中的点分别通过两个不同的正态分布随机生成而来。但是如果没有GMM,那么只能用一

    2022年10月21日
  • docker 修改容器时间_docker容器时间与宿主机不一致

    docker 修改容器时间_docker容器时间与宿主机不一致前言用docker搭建的Jenkins环境时间显示和我们本地时间相差8个小时,需修改容器内部的系统时间查看时间查看系统时间date-R进入docker容器内部,查看容器时间dockere

    2022年8月6日
  • vim 查找字符串「建议收藏」

    vim 查找字符串「建议收藏」在命令模式下输入/然后输入你需要查找的字符串即可。见下图:  可以使用n继续向下查找下一个名称为job的字符串。  可以使用N向上查找名称为job的字符串。  但每次查找完成后高亮并不会消失,可以在命令行模式输入:nohlsearch或者:noh,也可以输入:setnohlsearch,设置不用高亮查询会让你的查询不会高亮显示,如果需要高亮显示可以输入:sethlsearch。…

    2022年6月17日
  • Java锁的分类_地锁怎么安装

    Java锁的分类_地锁怎么安装1.Java锁的种类在笔者面试过程时,经常会被问到各种各样的锁,如乐观锁、读写锁等等,非常繁多,在此做一个总结。介绍的内容如下:乐观锁/悲观锁独享锁/共享锁互斥锁/读写锁可重入锁公平锁/

    2022年8月3日
  • 某Java大佬在地表最强Java企业(阿里)面试总结

    面试题真的是博大精深,也通过这个面试题学到了很多东西,很多笔者也不是很懂,如有描述错误的地方还望大佬赐教HashMap和Hashtable的区别Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。Hashtable中的方法是Synchronize的,而HashMap中的方法在缺省情况下是非Synchronize的。HashMap把Hashtable的contains方法去掉了,改成containsValue和contains.

    2022年4月7日
  • 求总体标准差的置信区间_如何计算置信区间[通俗易懂]

    求总体标准差的置信区间_如何计算置信区间[通俗易懂]一、置信区间与置信水平在做实验时,即使实验条件再准确,也无法避免随机干扰的影响,所以误差永远存在,无可避免。做科学实验时要测量多次,采取取平均值的方法。在科学实验的测量结果上,总是会加上一个测量范围。统计学核心思想:用样本信息来估计总体信息之前我们用样本给出一个精确值来估计总体,这个点估计值是有价值的,但可能存在误差,因为有估计就会有误差,误差不可避免但是可以减少。点(精确值)误差>区间…

    2022年10月27日

发表回复

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

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