当我们想用python
发送一个http
请求的时候,可以使用requests
库;我们想测试一个接口的时候也可以通过requests
库来请求接口,下面用一个例子来说明:
例如,我们要访问一个接口http://localhost:8080/login
,这是一个登录接口,请求方法为post
,请求参数为username
和password
,头信息为"Content-Type": "application/json"
,用requests请求代码如下:
import requests
data = {
"username": "admin",
"password": "123456"
}
header = {
"Content-Type": "application/json",
}
res = requests.post(url="http://localhost:8080/login", json=data, headers=header)
print(res.text)
由上方代码可以看出我们的数据data
、请求头
、及请求发送的方法
全部混在一起,如果是单个接口还好说,但是我们实际场景中会有几十、几百个的接口,如果都想这样写会很难维护,这个时候我们就需要进行一些特殊处理:
1、数据分离:
将数据(请求参数)单独提出,单独管理
2、requests库二次封装:
requests模型化,使没有python基础的测试人员也可以编写用例
3、公共方法封装:
例如邮件发送方法、数据库连接方法.....
4、检查点封装:
二次封装断言方法
5、用例执行:
单个或批量执行用例
6、报告:
发送测试报告或钉钉群报告
一套接口自动化基本就是这个思路,可能会有一些区别,但大致方向差不多