接口自动化测试框架 -- 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 由于篇幅问题,采用百度网 ...
随机推荐
- Careers/Staffing Index
Careers/Staffing Index Not having data governance can hurt your business. Download this eBook to ...
- Laravel 之搜索引擎elasticsearch扩展Scout
简介 Laravel Scout 是针对Eloquent 模型开发的一个简单的,基于驱动的全文检索系统.Scout 使用模型观察者时会自动保持你的检索索引与你的 Eloquent 记录同步. 目前,S ...
- squid+iptables实现网关防火墙
需求说明:此服务器用作网关.MAIL(开启web.smtp.pop3).FTP.DHCP服务器,内部一台机器(192.168.0.254)对外提供dns服务,为了不让无意者轻易看出此服务器开启了ssh ...
- java基本数据类型和包装类相互转换
把基本数据类型 → 包装类: 通过对应包装类的构造方法实现 除了Character外,其他包装类都可以传入一个字符串参数构建包装类对象. 包装类 → 基本数据类型 包装类的实例方法xxxValue() ...
- vs code 如何修改默认主题的注释颜色
平时喜欢将注释的颜色调成绿色,既不刺眼,也比较醒目,在大型项目中,能很容易的根据注释找道想要的部分:但是,每次修改完使用一段时间后,当vs code 自动更新了,又变成默认的颜色了,为了方便每次快速修 ...
- 整理了一下angularJs的webpack模板
github地址:https://github.com/qianxiaoning/demo-angularJs1.7.5 欢迎大家star或者fork呀~ 目录结构 src/ components/ ...
- 154th LeetCode Weekly Contest
A B D均比较简单.先说C题 K-Concatenation Maximum Sum Given an integer array arr and an integer k, modify the ...
- UVA 1347"Tour"(经典DP)
传送门 参考资料: [1]:紫书 题意: 欧几里得距离???? 题解: AC代码: #include<bits/stdc++.h> using namespace std; ; int n ...
- 深度解读 - Windows 7核心图形架构细致分析(来自微软)
编辑:马志文 时间: 2009-12-29 如现在大家所想的那样, Windows7 其实是 Windows Vista 的改进版. Windows 7 在 Windows Vista 的基础上进行了 ...
- IdentityServer4 sign-in
原文地址 Sign-in IdentityServer 代表 user 分配token之前,user必须登录IdentityServer Cookie authentication 使用 cookie ...