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

2021-09-27 01:50:18 字數 1630 閱讀 9866

多個介面一起測試,資料涉及多介面之間傳遞時,對資料的處理有兩種方法:

1)將前乙個介面返回資料設定為全域性變數globals()函式

函式介紹:globals()函式以字典型別返回當前位置的全部全域性變數

函式用法:globals()函式實現用例之間的資料共享

比如:用例a返回的結果寫到globals()["a"]中,用例b呼叫globals()["a"]的值

# 用法例a

globals()["a"] = "用例a的返回結果"

# 用例b引用

b = globals()["a"] print(b)

備註:當多個用例共享乙份資料時,可以把globals()函式放到setup前置裡面。

當用例c的的請求引數依賴用例a和用例b時,使用太多的globals()會不太好關聯,可以把globals()函式放到setup前置裡面

如下:用例c需要依賴a的返回值result_a和用例b的返回值result_b

class testa(unittest.testcase):

def setup(self):

self.s = requests.session()

self.g = globals()

def test_a(self):

'''用例a'''

result_a = "aaaaaa"     # 用例a的返回值

# 返回值先給全部辦理,存到字典對應key

self.g["a"] = result_a

self.assertequal(result_a, "aaaaaa")

def test_b(self):

'''用例b'''

b = self.g["a"]# 引用用例a的返回值

print("用例b引用用例a的返回值:%s"%b)

result_b = b+"111"

self.g["b"] = result_b

self.assertequal(result_b, "aaaaaa111")

def test_c(self):

'''用例c'''

print("用例c依賴用例a和用例b")

c_a = self.g["a"]

c_b = self.g["b"]

print("用例c的請求入參:%s" % c_a)

print("用例c的請求入參:%s" % c_b)

2)利用configparser函式

a)configparser.configparser().set(file_name, section_name, option, value)函式,將上乙個介面的返回資料寫入.ini檔案中

b)configparser.configparser().get(file_name, section_name, option)函式,從.ini檔案讀取資料

參考:

介面測試資料關聯

一 介面自動化的時候,下乙個介面的入參是需從上乙個介面的引數得出,兩個介面的引數需關聯 如下 1 第乙個介面的引數 replace 2 第二介面的引數 tokens 3 第二介面引數中的tok字段值需要從第乙個介面獲取值,可先用這中格式編寫 裡面的token是需從上乙個介面字段獲取值的欄位名 那麼下...

介面測試筆記1 測試資料

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

大量介面測試 資料驅動思路

大資料量介面url,date json para,返回code碼,狀態,text,assert等存入excel 如果每個介面有無數案例 get介面測試方法 不帶引數 for迴圈讀取excel裡的url,新增到乙個列表裡,或者不新增到列表,直接迴圈url列 for i in exceltable的ur...