做接口测试,不管是使用 Postman,JMeter 工具来做,还是使用代码的方式来做。都需要进行接口上下游传参的处理。
api_register_login.py
# 导入 requests
import requests
phone = "13213331333"
testcase={
"register":{ # 注册接口
"url":"http://49.233.108.117:28019/api/v1/user/register",
"body":{
"loginName": phone,
"password": "123456"
}
},
"login":{ # 登录接口
"url":"http://49.233.108.117:28019/api/v1/user/login",
"body":{
"loginName": phone,
"passwordMd5": "E10ADC3949BA59ABBE56E057F20F883E"
}
}
}
# 注册用户
r1 = requests.post(url=testcase["register"]["url"],json=testcase["register"]["body"])
print(r1.status_code,r1.json())
# 登录
r2 = requests.post(url=testcase["login"]["url"],json=testcase["login"]["body"])
print(r2.status_code,r2.json())
生成随机手机号码
# 导入 requests
import requests
# python中内置的随机模块
import random
# 生成随机值。 13000000000 -- 13999999999
phone = random.randint(13000000000,13999999999)
print(f'生成随机的手机号 {phone}')
testcase={
"register":{ # 注册接口
"url":"http://49.233.108.117:28019/api/v1/user/register",
"body":{
"loginName": phone,
"password": "123456"
}
},
"login":{
"url":"http://49.233.108.117:28019/api/v1/user/login",
"body":{
"loginName": phone,
"passwordMd5": "E10ADC3949BA59ABBE56E057F20F883E"
}
}
}
# 注册用户
r1 = requests.post(url=testcase["register"]["url"],json=testcase["register"]["body"])
print(r1.status_code,r1.json())
# 登录
r2 = requests.post(url=testcase["login"]["url"],json=testcase["login"]["body"])
print(r2.status_code,r2.json())
添加对应的token值
# 导入 requests
import requests
# python中内置的随机模块
import random
# 生成随机值。 13000000000 -- 13999999999
phone = random.randint(13000000000,13999999999)
print(f'生成随机的手机号 {phone}')
testcase={
"header":{ # 信息头
"token":None #默认没有token值
},
"register":{ # 注册接口
"url":"http://49.233.108.117:28019/api/v1/user/register",
"body":{
"loginName": phone,
"password": "123456"
}
},
"login":{
"url":"http://49.233.108.117:28019/api/v1/user/login",
"body":{
"loginName": phone,
"passwordMd5": "E10ADC3949BA59ABBE56E057F20F883E"
}
},
"search":{
"url":"http://49.233.108.117:28019/api/v1/search",
"query":{
"keyword":"iphone"
}
}
}
# 注册用户
r1 = requests.post(url=testcase["register"]["url"],json=testcase["register"]["body"])
print(r1.status_code,r1.json())
# 登录
r2 = requests.post(url=testcase["login"]["url"],json=testcase["login"]["body"])
print(r2.status_code,r2.json())
# 登录成功之后,将token值更新到 testcase中header 信息头中
testcase["header"]["token"] = r2.json()["data"]
# 搜索 添加headers 信息头
r3 = requests.get(url=testcase["search"]["url"],params=testcase["search"]["query"],headers=testcase["header"])
print(r3.status_code,r3.json())
上下游传参
在Python接口自动化中 上下游 传参 比如上面例子中 传入 token值,传输方式 使用的是 将token值设置在字典中。通过更新字典的值, 下游接口中直接访问字典的值,进行上下游传参。