HttpRunner接口自動化測試框架--5.hook機制


HttpRunner 從 1.4.5 版本開始實現了全新的 hook 機制,可以在請求前和請求后調用函數。函數統一存放在dabugtalk.py 文件中。在 YAML/JSON 中調用 hook 函數仍然是采用 ${func($a, $b)} 的形式。hook函數只在用例中聲明有效

hook 機制分為兩個層級:測試用例層面(testcase)測試步驟層面(teststep)

1.測試用例層面(testcase)

在 YAML/JSON 測試用例的 config 中新增關鍵字 setup_hooks 和 teardown_hooks

setup_hooks: 在整個用例開始執行前觸發 hook 函數,主要用於准備工作。

teardown_hooks: 在整個用例結束執行后觸發 hook 函數,主要用於測試后的清理工作。

首先編寫兩個簡單的函數做示范:

 

 1 D:\Python_Script\Interface_Test>hrun testcases/reg.yaml
 2 INFO     HttpRunner version: 2.4.2
 3 INFO     Loading environment variables from D:\Python_Script\Interface_Test\.env
 4 -----> 這是測試用例層面的hook函數 <-----
 5 -----> 我是執行用例之前執行的<-----
 6 INFO     Start to run testcase: None
 7 金融項目注冊接口
 8 INFO     GET http://192.168.200.144:8080/futureloan/mvc/api/member/register
 9 INFO     status_code: 200, response_time(ms): 27.93 ms, response_length: 60 bytes
10 
11 .
12 
13 ----------------------------------------------------------------------
14 Ran 1 test in 0.033s
15 
16 OK
17 INFO     Start to render Html report ...
18 -----> 這是測試用例層面的hook函數 <-----
19 -----> 我是執行用例之后執行的<-----
20 INFO     Generated Html report: D:\Python_Script\Interface_Test\reports\1576733100.html
運行詳細日志

2.測試用例層面(teststeps)

在 YAML/JSON 測試步驟的 teststeps 中新增關鍵字 setup_hooks 和 teardown_hooks

setup_hooks: 在 HTTP 請求發送前執行 hook 函數,主要用於准備工作;也可以實現對請求的 request 內容進行預處理。

teardown_hooks: 在 HTTP 請求發送后執行 hook 函數,主要用於測試后的清理工作;也可以實現對響應的 response 進行修改,例如進行加解密等處理。

編寫函數舉例:

 

這是登錄測試用例
-----> 這是測試步驟層面的hook函數 <-----
-----> 我是執行用例步驟之前執行的<-----
INFO     GET http://192.168.200.144:8080/futureloan/mvc/api/member/login
INFO     status_code: 200, response_time(ms): 10.97 ms, response_length: 60 bytes

-----> 這是測試步驟層面的hook函數 <-----
-----> 我是執行用例步驟之后執行的<-----
.

----------------------------------------------------------------------
Ran 2 tests in 0.035s
運行詳細日志


免責聲明!

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



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