引言
前面分享了一篇接口關鍵字封裝的文章,內容主要是針對excel中接口測試數據的常量獲取方法進行封裝,也就是excel第一行字段,稱之關鍵字。既然拿到了接口測試的關鍵字,那么關鍵字對應的值怎么獲取呢?比如我們之前封裝的方法中,可以獲取到接口關鍵字url,但是excel有多條接口數據,每條接口數據對應的url值不一樣。我們不可能一行一行的去拿到每條接口數據的url,所以將所有的方法統一封裝一個類,要什么關鍵字的數據,從類中調用方法來獲取即可。
封裝實現
知道要干什么,下面就是實現了,代碼如下:
__author__ = 'Leo'
from public.operate_excel import Operate_Excel
from basic_method import testcases_keyword
class getData(object):
def __init__(self):
self.op_excel = Operate_Excel()
def get_case_nums(self):
"""獲取測試用例條數"""
return self.op_excel.get_sheet_nrows()
def get_is_header(self,row):
"""是否攜帶請求頭"""
col = int(testcases_keyword.get_case_header())
header = self.op_excel.get_sheet_cell(row,col)
if header is not None:
return header
else:
print("沒有header!")
return None
def get_is_run(self,row):
"""是否運行"""
col = int(testcases_keyword.get_case_is_execute())
is_run = self.op_excel.get_sheet_cell(row,col)
if is_run == 'yes':
flag = True
else:
flag = False
return flag
def get_url(self,row):
"""獲取url"""
col = int(testcases_keyword.get_case_interface_url())
url = self.op_excel.get_sheet_cell(row,col)
return url
def get_method(self,row):
"""獲取請求方法"""
col = int(testcases_keyword.get_case_method())
method = self.op_excel.get_sheet_cell(row,col)
return method
def get_data(self,row):
"""獲取請求數據"""
col = int(testcases_keyword.get_case_payload())
data = self.op_excel.get_sheet_cell(row,col)
return data
def get_excepted_result(self,row):
"""獲取預期結果"""
col = int(testcases_keyword.get_case_expected_result())
excepted_result = self.op_excel.get_sheet_cell(row,col)
if excepted_result == '':
return None
else:
return excepted_result
def get_actual_result(self,row,value):
"""獲取實際結果"""
col = int(testcases_keyword.get_case_actual_result())
actual_result = self.op_excel.get_sheet_cell(row,col)
self.op_excel.write_to_excel(row,col,value)
if __name__ == '__main__':
get_data = getData()
print(get_data.get_is_run(1))
print(get_data.get_url(1))
運行結果:

結果對比:

總結
上面封裝的方法基本滿足了項目接口測試的要求,當然也會有比較特殊的情況,具體根據實際項目進行添加。如果對自動化測試,測試開發感興趣的朋友,可以加入測開交流群QQ:696400122。做一個有思想的測農,不念過往,不畏將來!
