Python 接口測試之獲取接口數據封裝

  引言

  前面分享了一篇接口關鍵字封裝的文章,內容主要是針對excel中接口測試數據的常量獲取方法進行封裝,也就是excel第一行字段,稱之關鍵字。既然拿到了接口測試的關鍵字,那麼關鍵字對應的值怎麼獲取呢?好比咱們以前封裝的方法中,能夠獲取到接口關鍵字url,可是excel有多條接口數據,每條接口數據對應的url值不同。咱們不可能一行一行的去拿到每條接口數據的url,因此將全部的方法統一封裝一個類,要什麼關鍵字的數據,從類中調用方法來獲取便可。html

  封裝實現

  知道要幹什麼,下面就是實現了,代碼以下:測試

__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))

運行結果:url

 

 結果對比:spa

 

 

 

  總結

  上面封裝的方法基本知足了項目接口測試的要求,固然也會有比較特殊的狀況,具體根據實際項目進行添加。若是對自動化測試,測試開發感興趣的朋友,能夠加入測開交流羣QQ:696400122。作一個有思想的測農,不念過往,不畏未來!excel

相關文章
相關標籤/搜索