本文包括requests库的安装过程、requests库的基本语法以及一个实例(携带token登录对人员进行注册)

、requests安装

可以通过控制台输入命令pip install requests安装requests,但是我这里主要介绍pycharm工具中安装requests
一张图解释安装步骤,简单快捷

python+requests实现接口测试的完整步骤_自动化测试

二、requests常用语法

1、基本请求方法,包含参数传递

(1)get参数传递,示例:

url=“xxxxx”
xx={
"xxx":"xx"
"xxxxx":1
}
r=requests.get(url,params=xx)
print(r.text)#解析返回结果并打印出来
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

(2)post参数传递,示例:

url=“xxxxx”
xx={
"xxx":"xx"
"xxxxx":1
}
r=requests.post(url,data=xx)
print(r.text)#解析返回结果并打印出来
print(r.json())#josn格式打印出来,适用于返回是json内容
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

(3)文件传输,示例:

url=“xxxxx”
data1={
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
filexxxx ={
"filexxxxxxxx":open('xxx.jpg','rb')#文件内容根据实际路径修改
}
r=requests.get(url,data=data1,files=filexxxx)
print(r.text)#解析返回结果并打印出来
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

(4)断言,示例:

url=“xxxxx”
xx={
"xxx":"xx"
"xxxxx":1
}
r=requests.get(url,params=xx)
print(r.text)#解析返回结果并打印出来
assert r.status_code == 200#断言操作,将响应值与200作对比
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

(5)获取token值并传入需要用到的地方,示例:

python+requests实现接口测试的完整步骤_接口测试_02

url1 = "https://xx.xx/xx/xx/2.1.0/token/sign"
r1=requests.post(url1)
t = r1.json()["token"]#返回结果是json,只取json()内容里token值并赋值到t中
#上图可以看出r1.json()返回的内容还有别的参数
  • 1.
  • 2.
  • 3.
  • 4.

三、实例

python+requests实现接口测试的完整步骤_接口测试_03

python+requests实现接口测试的完整步骤_程序员_04

import random
import requests
def test_zhuce():
url = "https://xx.xx/xx/xx/2.0.0/visitor/insert/user/"
url1 = "https://xx.xx/xx/xx/2.1.0/token/sign"
r1=requests.post(url1)
t = r1.json()["token"]
b=random.randint(1,100000)
date = {
"companyId" : "a9a4828204054088bb520df1e1d5b69f",
"deadLineTime": "2020-10-22T16:00:00.000Z",
# "fields": "[{\"fieldName\":\"code\",\"fieldType\":9,\"fieldValue\":\"C:\\Users\\Administrator\\aaaaa.jpg\",\"fieldId\":999}]",
"groupId": "aab59cf9edb542e7a2e9e6d415ae311b",
"headPath":"/Z",#照片路径,我这边是直接获取以前上传过的照片路径,取服务器端的值,你可以自己使用文件上传的方式上传你的照片,采用上面的二中的(3)方法
"msToken": t,
"name": "接口注册%d"%b,
"propertyId": "f8ff8ea63c3440eb85b81cbccacddef0",
"registerType":1,
"userType": 2
}
# header = {
#
# }
# r2=requests.post(url,files=file)
# print(r2.json())
r = requests.post(url, data=date)
# r=requests.post(url)
print('\n'"状态:",r.text)
print('\n'"头部信息:",r.headers)
print('\n'"cookie信息:",r.cookies)
print('\n'"token信息:",t)
# assert r.status_code == 200
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.