基于python3实现的http接口自动化测试
开发环境
- Win7 64,python 3,Pycharm. unittest
- 读取配置文件--读取测试用例--执行测试用例--记录测试结果--生成html结果文件
框架简介
- 本框架优点,只要和开发人员规范好接口文档的格式,然后根据接口文档录入接口生成器保存为xml,把xml给python进行接口测试,当然也可以用java来做接口测试
<?xml version="1.0" encoding="utf-8"?>
<root>
<title>阿迈</title>
<host>120.25.224.8</host>
<port>83</port>
<No>[1002,1003]</No>
<InterfaceList>
<id>1001</id>
<name>登陆</name>
<method>POSR</method>
<url>/api/v1.0/user/login.ashx?</url>
<hope>Token</hope>
<params>{"UserName":"18576759587","Password":"222222","IMEI":"868157020567821","Plat":"android","Version":"3.0","PhoneModel":"H60-L02"}</params>
<login>token</login>
<isList>0</isList>
</InterfaceList>
<InterfaceList>
<id>1002</id>
<name>分类</name>
<method>POST</method>
<url>/api/v1.0/basedata/goodstypes.ashx</url>
<hope>{'Data':[{'TypesName': '干货', 'Initials': '', 'TypesId': '559'}],'Success': '1'}</hope>
<params>{}</params>
<login>0</login>
<isList>1</isList>
</InterfaceList>
<InterfaceList>
<id>1003</id>
<name>分类1</name>
<method>POST</method>
<url>/api/v1.0/basedata/goodstypes.ashx</url>
<hope>{'Data':[{'TypesName': '干货', 'Initials': '', 'TypesId': '559'}],'Success': '1'}</hope>
<params>{}</params>
<login>0</login>
<isList>1</isList>
</InterfaceList>
</root>
- hope 意思是服务器返回的useid,token
- isList表示是否有嵌套.现在只是做了一级嵌套检测
- No 表示执行哪些用例id
- 支持常见是HTTP中的post和get方法,可以去扩展
- 测试案例用的xml管理,xml是我自己写的生成的,UI是硬伤
- 测试结合最后生成了html文件,方便查看,使用的是pyh。
- 本框架缺点,暂时还不支持多级嵌套的检测,是否恢复之前的自定义函数来检测?如果哪个接口太复杂,弄个单独的自定义函数来做检查点
模块类的设计说明
- Httpbase.py 读取http的域名和端口
- Config.py http方法的封装,可以支持多协议扩展,get,post
- Runner_m.py 核心代码。run_case是程序的入口
- Htmlreport.py 结果生成html文件
- testJson.py是检查点