pytest 框架,测试数据放 yaml 文件,这个接口的请求会用到上个接口的返回,怎么做更好?
我现在的做法是先把读取 yaml 文件,然后对应的字段赋值,然后再用赋值后的内容请求,类似这样:
url = env + params[16][1]['url'] # 取出 url
data = params[16][1]['params'] # 取出请求数据
params[16][1]['storageId'] = globals()['storageID'] # 赋值
header = {'Content-Type': 'application/json',
'Authorization': token}
result = self.Storage.send_post(url, json.dumps(data), header)
但是这样做,又背离了用例和数据分开的原则,有没有更好的办法?
globals()['storageID'] 这个是来自另外一个接口的返回,是把返回存放到一个公共变量:
def test_QueryStorage(self):
…………………………
globals()['storageID'] = result[1]['data']['storageId']
yaml 文件的内容示例如下: