最近在学习利用python做接口测试,记录下学习过程
1、安装requests库
打开cmd,输入pip install requests
2、使用requests
1)JSON类型的post请求
import requests
import json
url_login = "https://***/jlcloud/api/login"
payload = json.dumps({"account": "admin",
"password": "123456",
"project": "DEFAULT",
"teacherLogin": False,
"clientId": "1"})
headers = {'Content-Type': 'application/json'}
response1 = requests.request("POST", url=url_login, headers=headers, data=payload)
print('登录',response1.text)
2)带参数的GET请求
这个接口是我登录后操作的一个接口,这个接口需要获取上个post接口返回值作为参数,所以我先使用get获取上个接口返回值里的data
login_token=response1.json().get('data')
然后我进行下个get请求:
url_user= "https://***/jlcloud/api/login/getUserInfo"
params = {"token":login_token}
headers = {'Content-Type': 'application/json'}
response2 = requests.request("GET", url=url_user, headers=headers, params=params)
print('用户信息',response2.text)
3)参数不同的接口
我的项目里需要测试同一url,但是参数中id不一样,于是我将所有id作为一个列表进行循环
ids=['136','114','115','116','112','37','77','35','39','40','49','55','38','137','152']
for id in ids:
url_simulation = "https://***/jlcloud/simulation"
headers = {'X-Token': login_token}
params_id={'Id':id,'prdType':'01'}
response3 = requests.request("GET", url_simulation, headers=headers,params=params_id)
print('进入',response3.text)
最后还有一个小技巧,一开始总是报错,后来了解到postman可以输出python脚本,很方便,我的第一个登录的post请求因为json数据格式问题一直报错,然后通过postman生成的python代码解决的,但只是对简单的接口有用,如果有参数传递之类的,还是需要自己编写代码
|