咱們使用RF作UI自動化測試的時候,使用的是關鍵字驅動。一樣,Python作接口自動化測試的時候,也可使用關鍵字驅動。可是這裏並非叫關鍵字驅動,而是叫數據驅動。而接口測試的關鍵字是什麼呢? 咱們數據驅動的載體是Excel,那麼excel裏存放的數據是接口測試用例數據,一個接口數據裏有常量和變量。變量就是一些參數對應的值,而常量就是接口的:host、path、method和data等等。而這些常量是固定不變的,咱們能夠將接口測試用例這些常量封裝到一個類中,每次執行測試的時候,調用類中某個方法來讀取excel中接口關鍵字對應的值。這些就稱之爲——關鍵字數據。測試
衆所周知,Excel中第一行字段的值都爲固定的值,即常量。能夠用這些常量來定位每個測試用例不一樣字段的座標值,將獲取到的值傳遞給接口。url
首先咱們看看接口測試用例有哪些最主要的關鍵字常量:spa
上圖基本上是接口測試用例關鍵的字段,固然能夠根據本身項目須要自行添加。設計
咱們在讀取每條測試用例的時候,其實是讀取每行的數據,而後能夠經過固定的關鍵字(列)來獲取對應的值,最後傳遞給接口方法來執行接口測試。excel
封裝以下:blog
class TestCaseKeyWord(object): """ 定義測試用例關鍵字類 """ CASE_ID = '0' CASE_NAME = '1' IS_EXECUTE = '2' INTERFACE_URL = '3' METHOD = '4' HEADER = '5' REQUEST_DATA = '6' EXPECTED_RESULT = '7' ACTUAL_RESULT = '8' RESULT = '9' # 獲取用例id def get_case_id(): return TestCaseKeyWord.CASE_ID # 獲取用例名稱 def get_case_name(): return TestCaseKeyWord.CASE_NAME # 用例是否執行 def get_case_is_execute(): return TestCaseKeyWord.IS_EXECUTE # 接口url def get_case_interface_url(): return TestCaseKeyWord.INTERFACE_URL # 用例方法 def get_case_method(): return TestCaseKeyWord.METHOD # 請求頭 def get_case_header(): return TestCaseKeyWord.HEADER # 請求參數 def get_case_payload(): return TestCaseKeyWord.REQUEST_DATA # 預期結果 def get_case_expected_result(): return TestCaseKeyWord.EXPECTED_RESULT # 實際結果 def get_case_actual_result(): return TestCaseKeyWord.ACTUAL_RESULT # 用例執行結果 def get_case_result(): return TestCaseKeyWord.RESULT if __name__ == '__main__': print(get_case_id()) print(get_case_is_execute())
在excel中添加一條測試用例:接口
新建testcase_test.py文件,獲取接口測試用例名稱:開發
from basic_method import testcases_keyword from public.operate_excel import Operate_Excel get_excel = Operate_Excel() # 獲取用例數 print(get_excel.get_sheet_nrows()-1) # 返回用例名稱關鍵字的列值 case_name_col = int(testcases_keyword.get_case_name()) print(case_name_col) # 獲取第一條用例的名稱 get_name = get_excel.get_sheet_cell(1,case_name_col) print(get_name)
執行結果:get
以上就是針對接口測試用例關鍵字的封裝實操,常量封裝十分簡單,關鍵在測試方法與思想,更多自動化測試設計與想法,能夠加入QQ測試開發交流羣:696400122,一塊兒討論討論,不積跬步無以致千里~自動化