Doraemon-接口自动化测试工具
这是一个自动生成接口测试测试用例的项目, 您可以通过如下方式使用他
run in python3 当你git clone 该项目后,可以通过如下命令配置你的环境 如果你习惯使用venv环境, 那么你可以进行如下操作
>>> cd doraemon
>>> . venv/bin/activate
>>> pip3 install -r requirements.txt
测试用例的编写
在根路径下找到cases路径
在cases路径下, 新增 .json 尾缀的文件
如果是单个文件单个case, 可参考如下示例: test_history_day.json
{
"test_get_history_days": {
"url": "http://api.juheapi.com/japi/toh",
"params": "v=&month=&day=&key=1d39d53a70ebed87d5cabbc8b73b96e2",
"method": "get",
"desc": "测试历史上的今天接口, get请求",
"assert": {
"result": ["len", 0],
"error_code": 10005
}
}
}
用字典包含字典的结构进行保存
在上面的示例中, {key: {...}},
文件名表示生成测试用例中的class的命名(以test开头,下划线分割多个单词)
key表示测试方法名, 如果需要case有序执行, 可以将示例中:
test_get_history_days 修改为test_1_get_history_days
key对应的字典, 是这条case中所有的需要用到的参数, 目前支持结构体如下
key | value | Sample |
ResponseType | 验证返回结构体类型 | {"ResponseType": ["type", "dict"]}(支持字段类型验证) |
url | 对应接口地址 | http://api.juheapi.com/japi/toh |
method | 请求方法 | get |
desc | 测试报告对应的用例描述信息 | 测试历史上的今天接口, get请求 |
assert | 测试断言数据 | {"result": ["len", 0], "error_code": 10005} |
params | get方法需要传递的数据 | v=&month=&day=&key=1d39d53a70ebed87d5cabbc8b73b96e2 |
data | post提交表单数据 | {"pno":1,"ps":30,"dtype":"json","key":"4beb9d77d2b95ce9bec6d8363ee5a620"} |
json | post提交json数据 | {"pno":1,"ps":30,"dtype":"json","key":"4beb9d77d2b95ce9bec6d8363ee5a620"} |
schema | 需要断言返回数据的结构体验证 | TODO |
headers | 请求头信息 | {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/63.0.3239.132 Safari/537.36"} |
cookies | 需要自定义cookies信息 | 字典类型的key value 键值对 |
run.py
当你编写完成测试用例后, 可以通过以下命令运行测试
python3 run.py
>>> Testing ...
run.py是一个可以接受外部传参的文件, 当你需要自定义测试用例路径/ 测试报告生成路径 / 测试用例的Pattern时, 可以先通过 python3 run.py --help 来查看对应的入参后按需修改
? doraemon [master] ? python3 run.py --help
Usage: run.py [OPTIONS]
Options:
--cases TEXT case file path
--pattern TEXT get cases file pattern
--report TEXT generator report in path
--help Show this message and exit.
默认参数配置如下
@click.option('--cases', default='src/testcases/', help="case file path")
@click.option('--pattern', default='*.py', help="get cases file pattern")
@click.option('--report', default='src/report/', help="generator report in path")
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号953306497(备注“csdn111”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
相关文章
- Java集合-Map接口相关操作方法
- flask框架-使用flask-restful接口开发
- vue+php接口
- PHP中利用文件锁实现日志写入和网站接口访问等常见场景下的并发控制
- 安卓逆向5,脱壳实战,模拟器安装使用,Xposed安装使用,fdex2脱壳,app抓包,找到接口参数加密的地方,逆向出来,引力播app
- 100多个免费API接口分享 调用完全不限次数,以后总用得着
- 〖Python接口自动化测试实战篇⑤〗- 接口自动化测试必备基础 - http协议
- 〖Python接口自动化测试实战篇⑧〗- 小案例 - 使用python实现接口请求 [查询天行数据]
- 〖Python接口自动化测试实战篇⑪〗- 实战 - 结合 unittest 框架实现接口测试的断言
- pytest接口自动化测试框架 | 使用多个fixture
- pytest接口自动化测试框架 | 如何获取帮助
- pytest接口自动化测试框架 | unittest与pytest的区别
- pytest接口自动化测试框架 | parametrize中ids的用法
- 基于TestNG+Rest Assured+Allure的接口自动化测试框架
- Python Api接口自动化测试框架 excel篇
- Python+requests接口自动化测试框架实例教程
- 【面试必备】接口自动化核心知识点浓缩,为面试加分(建议收藏)
- 【2023最新教程】5分钟学会接口自动化测试框架(超easy)
- 要做接口并发性能测试,总得先学会分析吧!
- 测试进阶必备,这5款http接口自动化测试工具真的很香
- ⚡【包教包会系列】从0到1学习接口自动化测试必备知识!⚡
- HLS实践 - 03 - 接口优化设计
- Java中的接口
- 策略路由选路多出接口实验配置
- 接口测试——PyTest自动化测试框架(八)
- 测试进阶必备,这5款http接口自动化测试工具真的很香