接口自动化测试框架 -- 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 由于篇幅问题,采用百度网 ...
随机推荐
- protobuf_1
我使用的是最新版本的protobuf(protobuf-2.6.1),编程工具使用VS2010.简单介绍下google protobuf: google protobuf 主要用于通讯,是google ...
- H3C 路由器的特点
- H3C 802.11协议的发展
- Redis正确使用的十个技巧
http://www.jb51.net/article/73376.htm Redis 在当前的技术社区里是非常热门的.从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redi ...
- Python--day49--ORM框架SQLAlchemy之relationship的使用(有时间要从新看,这里状态不好,没有仔细听)
小贴士: 迭代器:只有在循环的时候才一个一个往外拿 relationship
- Python--day25--复习(单继承和多继承的总结)
- HDU 1271
这题做了好久..... 理解别人的代码都理解了好久!!!太弱太弱. #include<iostream> #include<algorithm> #include<cma ...
- H3C 传递信息(续)
- H3C DNS域名解析原理
- tensorflow在文本处理中的使用——skip-gram & CBOW原理总结
摘自:http://www.cnblogs.com/pinard/p/7160330.html 先看下列三篇,再理解此篇会更容易些(个人意见) skip-gram,CBOW,Word2Vec 词向量基 ...