Python 接口測試之接口關鍵字封裝


  引言

  我們使用RF做UI自動化測試的時候,使用的是關鍵字驅動。同樣,Python做接口自動化測試的時候,也可以使用關鍵字驅動。但是這里並不是叫關鍵字驅動,而是叫數據驅動。而接口測試的關鍵字是什么呢? 我們數據驅動的載體是Excel,那么excel里存放的數據是接口測試用例數據,一個接口數據里有常量和變量。變量就是一些參數對應的值,而常量就是接口的:host、path、method和data等等。而這些常量是固定不變的,我們可以將接口測試用例這些常量封裝到一個類中,每次執行測試的時候,調用類中某個方法來讀取excel中接口關鍵字對應的值。這些就稱之為——關鍵字數據。

  接口關鍵字封裝

  眾所周知,Excel中第一行字段的值都為固定的值,即常量。可以用這些常量來定位每一個測試用例不同字段的坐標值,將獲取到的值傳遞給接口。

首先我們看看接口測試用例有哪些最主要的關鍵字常量:

 

 

 

上圖基本上是接口測試用例關鍵的字段,當然可以根據自己項目需要自行添加。

我們在讀取每條測試用例的時候,實際上是讀取每行的數據,然后可以通過固定的關鍵字(列)來獲取對應的值,最后傳遞給接口方法來執行接口測試。

封裝如下:

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)

  

執行結果:

 

 

 

  總結

  以上就是針對接口測試用例關鍵字的封裝實操,常量封裝十分簡單,關鍵在測試方法與思想,更多自動化測試設計與想法,可以加入QQ測試開發交流群:696400122,一起討論討論,不積跬步無以至千里~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM