資料驅動測試框架設計 14資料依賴下

2021-10-23 13:27:20 字數 3130 閱讀 3953

之前的函式都已經封裝好,接下來就是要運用到run_main.py中

前面我們獲取到了要依賴的字段,現在我們需要知道要替換哪個字段

所以在excle用例中得再增加一列——依賴的key

接下來我們要完善run_main.py,實現用imooc001 的資料 status對應的1來替代imooc002中的請求資料id的值123

完善後的原始碼:

# -*-coding:utf-8-*-

from base.base_request import

*from base.handle_result import

*from base.handle_cookie import

*from base.handle_header import

*from base.codition_data import

*'''建立runmain類實現執行用例的功能'''

class

runmain

:def

run_case

(self)

:''' 獲取行數'''

rows = excel_data.get_rows(

)'''除去表頭需要遍歷rows-1次'''

for i in

range

(rows-1)

:'''給乙個預設值'''

cookies =

none

get_cookie =

none

headers =

none

'''i是從0開始,所以i+2,就和用例可以對應上,獲取第i+2用例資料'''

data = excel_data.get_rows_value(i+2)

is_run = data[2]

'''判斷如果第二列資料為yes則執行'''

if is_run ==

"yes"

:'''獲取前置條件'''

is_depend = data[3]

'''如果前置條件存在,獲取依賴字段'''

data1 = json.loads(data[7]

)if is_depend:

depend_key = data[4]

depend_data = get_data(is_depend)

data1[depend_key]

= depend_data

'''獲取請求方法'''

method = data[6]

'''獲取請求url'''

url = data[5]

cookie_method = data[9]

header_method = data[8]

if cookie_method ==

"yes"

: cookies = handlecookie.get_cookie_value(

)if cookie_method ==

"write"

: get_cookie =

'''操作header的情況'''

if header_method ==

"yes"

: headers = getheader.get_header(

)'''用封裝的request傳送請求'''

res = request.run_main(method=method,url=url,get_cookie = get_cookie,cookies = cookies,headers = headers,data=data1)

'''除錯列印'''

'''獲取實際errorcode對應的code'''

code = res[

"errorcode"

]'''獲取實際的msg的值'''

msg = res[

"errordesc"

]'''獲取斷言方法'''

assertion_method = data[10]

'''獲取預期結果'''

excepect_result = data[11]

'''如果斷言方法是mer'''

if assertion_method ==

"mer"

:'''傳入實際code獲取config對應的msg值'''

config_msg = data_result.get_result(url,code)

'''進行斷言'''

if msg == config_msg:

excel_data.excel_write_data(i +2,

13,"case通過"

)else

: excel_data.excel_write_data(i +2,

13,"case失敗"

)'''如果斷言方法是result'''

if assertion_method ==

"result"

:'''這塊需要注意返回結果獲取的result是整型,而我們excel中獲取

的是字串,所以這邊需要把格式統一再做比對'''

ifstr

(res[

"errorcode"])

== excepect_result:

excel_data.excel_write_data(i +2,

13,"case通過"

)else

: excel_data.excel_write_data(i +2,

13,"case失敗"

)if __name__ ==

'__main__'

: run = runmain(

) run.run_case(

)

執行後的結果:用抓包資料可以看到,請求資料中 id 為1,成功!

測試框架設計

關於測試框架的好處,比如快速回歸提高測試效率,提高測試覆蓋率等這裡就不討論了。這裡主要討論自動化框架包含哪些內容,以及如何去設計乙個測試框架。1.什麼是自動化測試框架?它是由乙個或多個自動化測試基礎模組 自動化測試管理模組 自動化測試統計模組等組成的工具集合。以常見的前端ui測試為例,乙個測試框架大...

資料驅動測試框架設計 9封裝cookie的操作

關於介面中的cookie操作有三種場景 1.發請求時候不需要攜帶cookie 2.發請求時候直接帶上已有的cookie 3.發請求以後需要更新現有的cookie,供後續請求時候使用 由於多種場景所以我們需要封裝乙個操作cookie的py檔案,針對不同場景進行不同cookie操作 封裝思路 1.con...

Robotium 資料驅動測試框架

refer to 被測試 是簡易計算器,files morebetter android code androidcalculator.rar 1.資料驅動測試架構 first value second value 101.5 20 3 2.建立資料原始檔 格式如上圖 3.把資料原始檔上傳到emul...