没有合适的资源?快使用搜索试试~ 我知道了~
首页Python 实现的http接口自动化测试框架(实用改进版)
Python 实现的http接口自动化测试框架(实用改进版)
需积分: 39 486 浏览量
更新于2023-05-25
评论
收藏 585KB PDF 举报
Python 实现的http接口自动化测试框架(实用改进版),共享提供大家一起使用。
资源详情
资源评论
资源推荐

博客:http://blog.sina.com.cn/ishouke 软件性能测试交流 QQ 群:7156436
基于 python 实现的 http+json 协议接口自动化测试框架(实用改进版)
by:授客 QQ:1033553122
私人博客:http://blog.sina.com.cn/ishouke
欢迎加入软件性能测试交流 QQ 群:7156436
目录
1、 开发环境................................................................................................................................................................... 1
2、 大致流程................................................................................................................................................................... 2
3、 框架简介................................................................................................................................................................... 2
4、 运行结果展示 ........................................................................................................................................................... 3
5、 文件与配置............................................................................................................................................................... 3
6、 测试接口样例 ........................................................................................................................................................... 4
1.登陆接口................................................................................................................................................................... 4
2.支付密码更改接口 ................................................................................................................................................... 6
7、 数据库设计............................................................................................................................................................... 7
8、 测试用例、测试数据准备 ....................................................................................................................................... 8
9、 模块与类、函数设计 ............................................................................................................................................. 10
10、 代码实现............................................................................................................................................................. 10
a) class congfighttp.ConfigHttp ................................................................................................................. 10
b) class getdb.GetDB ....................................................................................................................................... 12
c) class configrunmode.ConfigRunMode ....................................................................................................... 13
d) class globalconfig.Global ....................................................................................................................... 14
e) class datastruct.DataStruct ................................................................................................................... 15
f) class test_interface_case.TestInterfaceCase,test_interface_case.ParametrizedTestCase.. 16
g) class runcase.RunCase ............................................................................................................................... 20
h) htmlreport. HtmlReport .............................................................................................................................. 22
i) main ................................................................................................................................................................. 25
11、 源码下载............................................................................................................................................................. 26
1、 开发环境
win7 64 位
JetBrains PyCharm 4.0.5
Python 3.3.5
MariaDB-5.5.45-centos6-x86_64
文件下载地址:http://pan.baidu.com/s/1sj1Lzw5
CentOS 6.5-x86_64
下载地址:http://www.centoscn.com/CentosSoft/iso/2013/1205/2196.html

博客:http://blog.sina.com.cn/ishouke 软件性能测试交流 QQ 群:7156436
Mysql Connector/Python Windows (x86, 64-bit), MSI Installer Python 3.3
下载地址:http://dev.mysql.com/downloads/connector/python/
其它:公司 Linux mysql 数据库服务器、应用服务器
2、 大致流程
下图展示了框架实现的业务流程
3、 框架简介
1、可通过配置文件 http_config.ini,对要测试接口服务器的 IP、域名,和端口信息进行灵活配置。
2、可通过配置文件 db_config.ini,对测试数据库,应用数据库服务器主机 IP,端口,用户名,密码等灵活配
置。
3、可通过配置文件 run_case_config.ini 灵活配置需要用例运行模式,需要运行的用例 ID 列表
4、对常见 HTTP 的 POST,GET 请求方法进行封装(支持自由扩展以便增加其它方法
5、支持 JSON(含嵌套对象格式的 json 数据,如{ "orderTotalPrice":95,
"goods":[{"shopId":987654354,"goodsId":108, "goodsNumber":1}]}})格式数据提交
6、通过数据库对接口测试用例、前置(数据)条件进行管理,可做到每个用例之间相互独立,互不依赖
7、针对接口返回结果,支持数据库级别的数据校验

博客:http://blog.sina.com.cn/ishouke 软件性能测试交流 QQ 群:7156436
8、可按测试时间及给定文件名,生成对应时间的 html 可视化报告,报告内容包含测试耗时,测试执行用例总数,
执行成功、失败、出错用例数统计;还有单个用例的执行情况(ID,用例名称,(自定义)接口名称,接口 URL,接口参数,
运行结果等)
4、 运行结果展示
5、 文件与配置
1) http 配置文件
用途:配置接口服务器 IP,端口
http_config.ini
[DEFAULT]
[HTTP]
host = 192.168.1.174
port = 9101
2) 用例配置文件
run_case_config.ini

博客:http://blog.sina.com.cn/ishouke 软件性能测试交流 QQ 群:7156436
[RUNCASECONFIG]
runmode = 1
case_id = [1,2]
说明:runmode:1--运行全部用例 0--运行指定用例,case_id:list,存放 runmode=0 时需要运行用例的用例
ID,ID 之间采用英文逗号分割
3) 数据库配置文件
db_config.ini
[DATABASE1]
host = 192.168.30.80
port = 3306
user = testacc
passwd = test1234
db = testdb
charset = utf8
[DATABASE2]
host = 192.168.1.161
port = 3306
user = yinheonline
passwd = 123456
db = yh_yinheonline
charset = utf8
说明:DATABASE1 测试数据库 testdb 的配置,DATABASE2 存放企业应用数据库服务器配置
6、 测试接口样例
1.登陆接口
用于用户登陆。
接口方向
客户端 -> 服务端
接口协议
接口地址:$1dcp_Home/interface/user/login
接口协议:JSON
HTTP 请求方式:GET
消息请求
字段名
数据类型
默认值
必填项
备注
mobile
string
是
手机号
password
string
是
用户密码,采用 MD5加密
model
string
条件
手机型号,比如:IPHONE 5 32GB BLACK
osInfo
string
是
操作系统信息,比如 iOS_6.1.4

博客:http://blog.sina.com.cn/ishouke 软件性能测试交流 QQ 群:7156436
SN
string
条件
设备的序列号
或唯一标识设备的
编码。
说明:必填项为条件表示根据系统的安全级别做限制和约束。客户端和服务端做同步约定。
消息请求样例:
?mobile=13812345678&password=xxsdfjddafd&model=iphone5&osInfo=iOS_6.1.4&SN=041552E97A96
消息响应
服务器验证成功后,通过在 HTTP response 的 header 中设置 cookie 实现 session 机制。客户端收到 cookie 后,
需要在后续的 HTTP request 请求中携带 cookie 信息,否则服务端将鉴权不通过,返回错误码:30003(无效的 cookie
信息)。
字段元素定义如下:
字段名
数据类型
默认值
必填项
备注
userId
int
是
用户 ID
imgBig
String
否
头像(大)
imgSmall
String
否
头像(小)
nikeName
String
是
昵称
sex
int
是
性别;0-男,1-女
address
String
否
长居地
cityId
int
否
市 ID
cityName
String
否
市名
payPasswordFlag
int
是
支付密码标识:0-未设定 1-已设定
成功时,返回 JSON 数据包:
{
"code":0,
"msg":"登录成功!",
"data":{
"userId":"1223434",
"imgBig":"/user/img/001.png",
"imgSmall":"/user/img/001_small.png",
"nikeName":"贪吃羊",
"sex":0,
"address":"深圳"
}
剩余25页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0