多個介面一起測試,資料涉及多介面之間傳遞時,對資料的處理有兩種方法:
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...