接口自动化测试框架 -- reudom
reudom
Automated testing framework based on requests and unittest interface.
基于 Unittest 和 Requests 的 接口自动化测试框架
介绍
基于Unittest/Requests的接口自动化测试库
- 提供脚手架,快速生成接口自动化测试项目。
- 自动生成HTML测试报告。
- 支持用例参数化。
- 支持用例失败重跑
- 对原生Requests库API无损
目录架构
myreudom/
├── test_case/
│ ├── test_sample.py
├── reports/
└── run.py
test_dir/目录实现用例编写。reports/目录存放生成的测试报告。run.py文件运行测试用例。
安装教程
> pip install reudom
If you want to keep up with the latest version, you can install with github repository url:
> pip install -U git+https://github.com/SeldomQA/reudom.git@master
创建项目
>reudom --project myreudom
运行项目:
> reudom -r run.py
Python 3.7.1 _
| |
_ __ ___ _ _ __| | ___ _ __ ___
| '__/ _ | | | |/ _` |/ _ \| '_ ` _ \
| | | __| |_| | (_| | (_) | | | | | |
|_| \___|\__,_|\__,_|\___/|_| |_| |_|
--------------------------------------
@itest.info generated html file:/Users/work/reports/2019_12_22_14_51_57_result.html
.1
查看报告
你可以到 myreudom\reports\ 目录查看测试报告。
reports文件夹可以不用自己去创建,它会在你执行run.py时自动创建此文件夹

Simple demo
请查看 demo/test_sample.py 文件
import reudom class test(reudom.TestCase):
def setUp(self):
self.url = 'http://www.baidu.com' def test01(self):
rep = reudom.request('get', url=self.url, headers=self.headers())
result = rep.json()
self.assertEqual(result['status'], '') if __name__ == '__main__':
reudom.main("test_sample.py")
说明:
- 创建测试类必须继承
reudom.TestCase。 - 测试用例文件命名必须以
test开头。 - reudom引入了
post、get、head、patch、put、delete、options等方法。
main() 方法
import reudom
# ...
if __name__ == '__main__':
seldom.main(
path="./",
title="接口自动化测试用例",
description="详细测试结果:",
debug=False,
rerun=0,
save_last_run=False,
)
说明:
- path : 指定测试目录或文件。
- title : 指定测试报告标题。
- description : 指定测试报告描述。
- debug : debug模式,设置为True不生成测试HTML测试,默认为
False。 - rerun : 设置失败重新运行次数,默认为
0。 - save_last_run : 设置只保存最后一次的结果,默认为
False。
Run the test
import reudom reudom.main(path="./") # 当前目录下的所有测试文件
reudom.main(path="./test_dir/") # 指定目录下的所有测试文件
reudom.main(path="./test_dir/test_sample.py") # 指定目录下的测试文件
reudom.main(path="test_sample.py") # 指定当前目录下的测试文件
说明:
- 如果指定的目录,测试文件必须以
test开头。 - 如果要运行子目录下的文件,必须在子目录下加
__init__.py文件。
跳过用例
import reudom
class YouTest(reudom.TestCase):
@reudom.skip("跳过这条用例的执行")
def test_case(self):
"""a simple test case """
#...
在PyCharm里使用
- 当你使用PyCharm编译器或其他Python编译器时,您只需要使用
pip install reudom安装后在你项目的文件夹内创建.py文件里import reudom就可以了 - 如果你需要正式的运行起来,只需在项目跟目录里创建
run.py里使用上面的main方法取运行就可以啦;运行时会自动的在run.py的同级目录生成reports文件夹生成的 测试报告 就在里面!

AES加密
- 现在很多项目都使用 AES 对接口进行加密传输处理,所以我也对 reudom 库进行了支持
- AES最常见的3种方案_AES-128、AES-192和AES-256,但目前仅对 AES-128 方案进行了分装,后面去会把剩下两种加进去
- 您只需在你的.py工程里引入
import reudom, - 然后使用:
reudom.aesCrypt(
key='16位',
model='加密模式',
iv='CBC模式需要它',
encode_='默认GBK')
.aesEncrypt('传入需要加密的明文')
key传入长度必须是:16、24、32位model可选择:ECB、CBC、CFB、PGP、OFB、CTR、OPENPGP 这七种模式iv使用 CBC 时需要传入的与 key 同样的长度encode_默认使用了 GBK 编码text传入需要加密的 明文
import reudom reudom.aesCrypt(key='', model='CBC', iv='', encode_='GBK').aesEncrypt(text='') 控制台:
/usr/bin/python3 /Users/yuanbaolei/work/GitHub/reudom/CryptoAESAES/Cipher/aesEncrypt.py
15tT+y0b+lJq2HIKUjsvvg== Process finished with exit code 0
接口自动化测试框架 -- reudom的更多相关文章
- 接口测试入门(4)--接口自动化测试框架 / list和map用法 / 随机选取新闻 (随机数生成) / 接口相关id映射
一.接口自动化测试框架 为了更好的组织测试方法,测试用例并且持续集成,我们选择了 java+testNG(测试用例组织)+gitlab(代码版本管理)+Jenkins(持续集成工具) 作为一整套的自 ...
- python版接口自动化测试框架源码完整版(requests + unittest)
python版接口自动化测试框架:https://gitee.com/UncleYong/my_rf [框架目录结构介绍] bin: 可执行文件,程序入口 conf: 配置文件 core: 核心文件 ...
- 接口自动化 [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 by:授客 QQ:1033553122 博客:http://blog.sina.com.cn/ishou ...
- 接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架[V2.0改进版]
基于python+Testlink+Jenkins实现的接口自动化测试框架[V2.0改进版] by:授客 QQ:1033553122 由于篇幅问题,,暂且采用网盘分享的形式: 下载地址: [授客] ...
- 基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 目录 1. 开发环境2. 主要功能逻辑介绍3. 框架功能简介 4. 数据库的创建 5. 框架模块详细介绍6. Tes ...
- 【转】robot framework + python实现http接口自动化测试框架
前言 下周即将展开一个http接口测试的需求,刚刚完成的java类接口测试工作中,由于之前犯懒,没有提前搭建好自动化回归测试框架,以至于后期rd每修改一个bug,经常导致之前没有问题的case又产生了 ...
- 【python3+request】python3+requests接口自动化测试框架实例详解教程
转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...
- 接口自动化 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)
基于python实现的http+json协议接口自动化测试框架(实用改进版) by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 目录 1. ...
- Python 基于python实现的http接口自动化测试框架(含源码)
基于python实现的http+json协议接口自动化测试框架(含源码) by:授客 QQ:1033553122 欢迎加入软件性能测试交流 QQ群:7156436 由于篇幅问题,采用百度网 ...
随机推荐
- 5 获取Form表单取值
#form表达提交@app.route("/data",methods=['GET','POST']) #methods 让当前路由支持GET 和 POST 方式def data( ...
- axios用headers传参,设置请求头token
新建一个配置文件http.js // 导入axios import axios from 'axios'; // 全局配置默认路由 axios.defaults.baseURL = 'http://1 ...
- js如何获取地址栏上的参数id
直接上js代码 方法1: 父页面跳转地址栏带id>>>>window.location.href='${ctxAdmin}/study/checkForm?id='+id+ ...
- pytorch JIT浅解析
概要 Torch Script中的核心数据结构是ScriptModule. 它是Torch的nn.Module的类似物,代表整个模型作为子模块树. 与普通模块一样,ScriptModule中的每个单 ...
- H3C 单播与广播
- codeforces1238-div2
C 目前在h的高度,1~h每一个台阶要么处于out的状态,要么处于in的状态,问最少改变几个台阶的状态,使得能够从h的高度到0. 下降的唯一的方式,拉动lever,h-1的状态取反,下落的最大的高度不 ...
- Codeforces Round #597 (Div. 2) D. Shichikuji and Power Grid 题解 最小生成树
题目链接:https://codeforces.com/contest/1245/problem/D 题目大意: 平面上有n座城市,第i座城市的坐标是 \(x[i], y[i]\) , 你现在要给n城 ...
- H3C 用display interface命令显示接口信息
- Python--day43--mysql唯一索引和外键变种之多对多
唯一索引:(unique关键字)unique 名字 (num) 外键的变种:
- 移动端android上line-height不居中的问题的解决
废话不多话,直接上代码,如下: .btn { width: 1.5rem; max-width: 100px; text-align: center; height: .56rem; font-wei ...