前言
每個自動化測試結果都要有一份詳細的測試報告來呈現,今天測試報告來了,pytest常用的測試報告有幾種,比如在pycharm中直接生成報告,通過HTML插件生成,或者還有最常用的allure。今天安靜主要介紹通過pytest的插件pytest-html來生成測試報告
pytest-html
pytest-html屬於pytest第三方插件,使用時,需要進行安裝。
安裝: pip install pytest-html
源碼:https://github.com/pytest-dev/pytest-html
import pytest class Test01(): def test_01(self): print('\n---用例01---') def test_02(self): print('\n---用例02---') def test_03(self): print('\n---用例03---') if __name__ == '__main__': pytest.main(['-vs'])
生成報告執行命令: pytest --html=report.html 。通過下圖的代碼可以發現已經生成了html內容還給出了相應的報告地址

打開報告,呈現出這樣的HTML。看起來和unittest的報告其實差不多的。 
執行報告路徑
如果在PO模式下通常都會把報告內容放到對應的report目錄下,生成路徑時候,我們也可以在參數中加入報告路徑 pytest -vs --html=./report/report.html
執行完代碼后就會發現,在當前目錄下已經生成了一個report文件夾,測試報告也已經存放在報告中了。
報告獨立
細心的小伙伴們,自己在本地執行完分享出去,分享報告的時候樣式會丟失,因為通過上述方法保存的HTML會的CSS會在本地,可以通過下面命令,將CSS寫入到HTML中
命令: pytest --html=report.html --self-contained-html 通過執行后,再生成的文件就可以進行分享了
漢化報告
上面的報告會發現是英文的,有一些領導不喜歡英文,就喜歡看漢字,那怎么辦?只能解決了,這里安靜在網上找到了別人修改好的。
github地址:https://github.com/13691579846/pytest-html
找到后下載源代碼,將pytest-html放到python的第三方庫目錄(\Python\Lib\site-packages)下。如果安裝過pytest-html直接替換即可。
然后在進行執行代碼,查看測試報告,就會發現已經變成漢化版本了

pytest的測試報告,用的最多的應該屬於allure,后續安靜會進行補充關於allure的報告。感興趣的小伙伴們,也可以進行自主優化html的報告內容。
