測試資料放 yaml 檔案,不同介面存在關聯引數怎麼做更好

smelody發表於2021-01-11

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檔案的內容示例如下:

相關文章