接口串联
1、前一个接口中把从响应中提取出的数据存入pub_data字典中
![](https://img.haomeiwen.com/i12041469/fb0eb9bf4b504b74.png)
2、后一个接口通过${key}提取pub_data字典中的数据
![](https://img.haomeiwen.com/i12041469/5b670026b51dcf4b.png)
3、代码如下
from tools.api import request_tool
def test_login(pub_data):
method = "POST" # 请求方法,全部大写
feature = "用户模块" # allure报告中一级分类
story = '用户登录' # allure报告中二级分类
title = "全字段正常流_1" # allure报告中用例名字
uri = "/login" # 接口地址
# post请求json数据,注意数据格式为字典或者为json串 为空写None
json_data = '''
{
"pwd": "wei888",
"userName": "wei666"
}
'''
status_code = 200 # 响应状态码
expect = "2000" # 预期结果
# --------------------分界线,下边的不要修改-----------------------------------------
# method,pub_data和url为必传字段
r = request_tool.request(method=method, url=uri, pub_data=pub_data, json_data=json_data, status_code=status_code,
expect=expect, feature=feature, story=story, title=title)
pub_data["token"] = r.json()["data"]["token"]
def test_addOrder(pub_data):
method = "POST" #请求方法,全部大写
feature = "用户模块" # allure报告中一级分类
story = '用户登录' # allure报告中二级分类
title = "全字段正常流_1" # allure报告中用例名字
uri = "/order/addOrder" # 接口地址
headers = {"token":"${token}",'Host': 'qa.yansl.com:8084', 'Connection': 'keep-alive', 'Accept': '*/*', 'Origin': 'http://qa.yansl.com:8084', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36', 'Content-Type': 'application/json', 'Referer': 'http://qa.yansl.com:8084/swagger-ui.html', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9'}
status_code = 200 # 响应状态码
expect = "" # 预期结果
json_data='''{
"ordeerPrice": 0,
"orderLineList": [
{
"qty": 0,
"skuCode": "自动生成 字符串 2,5 数字字母 xuepl"
}
],
"receiver": "string",
"receiverPhone": "string",
"receivingAddress": "string",
"sign": "string",
"userName": "string"
}'''
# --------------------分界线,下边的不要修改-----------------------------------------
# method,pub_data和url为必传字段
r = request_tool.request(method=method,url=uri,pub_data=pub_data,status_code=status_code,headers=headers,expect=expect,feature=feature,story=story,title=title,json_data=json_data)
也可以提取串联响应正文中的数据
![](https://img.haomeiwen.com/i12041469/5abbb5e409f01dca.png)
网友评论