Python开发解析Swagger⽂档⼩⼯具
写在前头,欢迎star,提出更多建议!
⼀、HTTPRUNNER
当前框架已经更新到3.x版本;已经向pytest测试框架靠拢,并继承它的相关特性及优点。
但它的优点,在某些⼈眼⾥也是有‘缺陷’的
如:它⽀持抓包导出har数据⽂件har2case转化成json/yaml格式的测试套件;也⽀持⼿动编辑维护json/yaml格式的测试⽤例;
但是⾯对接⼝⽂档,⽐较多的接⼝需要做接⼝测试或集成⽅⾯⼜略显不⾜,⼈⼒的⼿⼯成本⼤、效率⼜不⾼,有没有办法提⾼呢?故⽽开发与该框架契合⽐较⾼的解析接⼝⽂档⼯具,既⽀持json/yaml格式⼜可以输出excel⽂档,⽅便更灵活的开发测试框架。
咱们先安装环境,然后再⼀步⼀步完成⾃⼰的需求
// 暂时不使⽤它3.x版本的功能
pip install -y httprunner==2.1.3
验证环境:hrun -h ,等效于httprunner -h
⼆、开发解析swagger脚本
先安装环境所需要的python库
// 可以写⼊⽂件,批量安装:pip install -
celery==3.1.26.post2
openpyxl==3.0.4
requests==2.24.0
xlwt==1.3.0
xlrd==1.2.0
rank函数不同的数排名一样
PyYAML==5.4.1
开发⼯具及⼯程结构
pycharm是python⼯程师的开发利器
⼯程结构截图如下:
哈夫曼树c语言实现
请注意配置properties/⽬录下的config.ini配置⽂件,需要填写⾃⼰解析的接⼝⽂档地址
[swaggerUrl]
# swagger接⼝⽂档地址
baseSever_url = localhost:8090做ppt的软件
例:⾃⼰部署⼀个swagger项⽬演⽰效果
效果如下:
但是我们要的不是UI,⽽是接⼝,于是F12⼀开
拿到接⼝地址并写⼊config.ini配置⽂件:
三、跳过开发过程看效果演⽰
脚本设计思想:
1、既要符合httprunner框架⽀持的json/yaml⽤例,⼜要⽀持excel输出
2、这点思想主要来源于爬⾍,爬取接⼝响应的数据进⾏解析重新组装输出
typeof的返回值有几种情况
进⼊脚本,执⾏程序⼊⼝
if __name__ == '__main__':
url = _value("swaggerUrl", "baseSever_url")
js = AnalysisSwaggerJson(url)
python解析json文件js.analysis_json_data(isDuplicated=False)
js.write_excel(url, _file_list(case_dir))
结果输出如图所⽰
既有json,同时⼜有excel⽂件,是不是两全其美之法?
先来完善api/⽬录下的测试⽤例:
补全接⼝⼊参,如图所⽰
进⼊⼯程swagger⽤例⽬录,执⾏:hrun testcases\⽤户相关接⼝.json,⽇志截图:
并且⽣成html测试报告,打开如图:
是不是⾮常nice
免费跨国浏览器
⼀边⽣成json/yaml符合httprunner测试框架;
⼀边⽣成excel可以⾃⼰定制开发⾃动化测试框架。
四、Swagger⼯具总结
先推⼴⼀波,已经有19个star了,还缺你哦;
欢迎提出不同优化建议,如果再结合其他测试框架,做成⼀个强⼤第三⽅开源库,服务更多的⼈,这该是⼀件美事!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。