前言
受益於pytest的整合,HttpRunner v3.x可以使用pytest所有外掛,包括pytest-html
和allure-pytest
,也可以實現這2種方式的報告
內建html報告
pytest-html
外掛隨HttpRunner一期安裝。當你執行測試用例想生成html報告時,可以在命令列中新增--html
安裝Httprunner時,pytest-html
外掛也會隨之安裝,當執行測試用例的時候,想生成html形式的報告,可以在命令列中新增--html + 報告路徑
$ hrun /path/to/testcase --html=report.html
舉例:在當前目錄執行testcases下的所有用例,並在當前目錄下的report目錄下,生成名為test_report.html
的報告
(httprunner_env) ➜ hrun_demo hrun testcases --html=reports/test_report.html
2021-02-10 11:24:21.055 | INFO | httprunner.make:__make:512 - make path: /Users/jkc/hrun/hrun_demo/testcases
2021-02-10 11:24:21.057 | INFO | httprunner.make:format_pytest_with_black:170 - format pytest cases with black ...
No Path provided. Nothing to do ?
2021-02-10 11:24:21.263 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.1.4
================================================================================================= test session starts ==================================================================================================
platform darwin -- Python 3.7.6, pytest-5.4.3, py-1.10.0, pluggy-0.13.1
rootdir: /Users/jkc/hrun/hrun_demo
plugins: metadata-1.11.0, html-2.1.1
collected 3 items
testcases/demo_testcase_ref_test.py . [ 33%]
testcases/demo_testcase_request_test.py . [ 66%]
testcases/baidu_test.py . [100%]
---------------------------------------------------------------- generated html file: file:///Users/jkc/hrun/hrun_demo/reports/test_report.html ----------------------------------------------------------------
================================================================================================== 3 passed in 4.79s ===================================================================================================
開啟html報告,檢視報告內容
如果想建立一個獨立的、更加方便共享測試結果的html報告(通俗的說:該目錄只有html報告,沒有css樣式),可以在命令列中新增--self-contained-html
$ hrun /path/to/testcase --html=report.html --self-contained-html
allure報告
allure-pytest
是HttpRunner的可選依賴項,所以如果想生成allure報告時,需要單獨安裝:
pip3 install allure-pytest
或者在安裝httprunner時選擇安裝:
pip install "httprunner[allure]"
安裝完成後,下面的引數可以使用hrun/pytest
的命令:
--alluredir=DIR
:在指定目錄中生成allure報告(可能不存在)--clean-alluredir
:清理alluredir資料夾(如果存在)--allure-no-capture
:不要將pytest捕獲的日誌記錄/ stdout / stderr附加到報告中
要使Allure偵聽器能夠在測試執行期間收集結果,只需新增--alluredir選項,並提供路徑即可。
$ hrun /path/to/testcase --alluredir=/tmp/my_allure_results
要在測試完成後檢視實際報告,您需要使用Allure命令列實用程式從結果生成報告
# 線上開啟報告(此命令將在預設瀏覽器中顯示您生成的報告)
$ allure serve /tmp/my_allure_results
# 生成html報告
allure generate reports/allure -o reports/allure/html
關於allure報告就不做過多的演示了,跟pytest裡面用法一樣