之前的函式都已經封裝好,接下來就是要運用到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...