介面測試資料關聯

2022-04-29 01:27:05 字數 1386 閱讀 2854

一、介面自動化的時候,下乙個介面的入參是需從上乙個介面的引數得出,兩個介面的引數需關聯;如下:

1、第乙個介面的引數:replace =

2、第二介面的引數:tokens = $'}#:'$$'}

3、第二介面引數中的tok字段值需要從第乙個介面獲取值,可先用這中格式編寫"$$",裡面的token是需從上乙個介面字段獲取值的欄位名

那麼下面是使用正則匹配獲取得到值

1、匹配獲取第二介面$$,裡面的token

#匹配獲取第二介面$$,裡面的token

def res_find(data,pattern=p_data):

"""引數關聯查詢

:param data: 匹配的str

:param pattern: 正則

:return:

"""pattern_data = re.compile(pattern)

re_res = pattern_data.findall(data)

return re_res

2、引數關聯的替換,使用sub方法;從第乙個介面獲取的token欄位的值當作替換值

def res_sub(data,replace,pattern=p_data):

"""引數關聯的替換

:param data: 資料str

:param replace: 替換的值

:param pattern: 正則匹配

:return:

"""pattern_data = re.compile(pattern)

re_res = pattern_data.findall(data)

if re_res:

return re.sub(pattern,replace,data)

return re_res

3、因為findall(data)方法,data不能是dict型別,需要使用data = json.dumps(data)轉換成字串,不然會報如下錯誤:

typeerror: expected string or bytes-like object
4、結果執行

if __name__ =='__main__':

tokens = $'}#:'$$'}

#dict ——》str

tokens = json.dumps(tokens)

replace =

field = res_find(tokens)[0]

print(field) #token

tokens=res_sub(tokens,replace[field])

print(tokens) #

介面測試筆記1 測試資料

1 口自動化測試資料源 2 自動化指令碼中資料型別 3 json格式資料 4 json格式資料實戰 1 excel測試用例 2 yaml格式用例 資料要放在請求 會構建請求 裡面發出 data request 1 表單格式 也叫urlencode格式,也叫form格式,也叫x www form ur...

介面測試之 多介面測試,資料間傳遞問題

多個介面一起測試,資料涉及多介面之間傳遞時,對資料的處理有兩種方法 1 將前乙個介面返回資料設定為全域性變數globals 函式 函式介紹 globals 函式以字典型別返回當前位置的全部全域性變數 函式用法 globals 函式實現用例之間的資料共享 比如 用例a返回的結果寫到globals a ...

構造測試資料 對比測試資料

正確 include using namespace std typedef long long ll const int max n 1e6 10 intmain return0 author max n date 2019 10 04 15.03.21 description 正確 錯誤 inc...