一:環境准備
- 1.python3.6
- 2.windows環境
- 3.pycharm
- 4.pytest-allure-adaptor
- 5.allure2.8.0
- 6.java1.8
pytest-allure-adaptor快速安裝
在cmd中輸入 pip install pytest-allure-adaptor,回車
二:報告生成
第1步:下載allure.zip,下載地址:allure-github: https://github.com/allure-framework/allure2 ,找到對應版本,並下載
第2步:解壓allure.zip,將路徑添加環境變量,path中,記得需要重啟電腦
第3步:驗證allure,在cmd中輸入allure,然后回車,如果可以看到一下,說明配置完成
第4步:運行測試用例 pytest.main(["-m","login","-s","-q","--alluredir","./report"])
"-m": 標記用例
"login": 被標記需要執行用例
"-s":允許終端在測試運行時輸出某些結果,例如你想輸入print的內容,可以加上-s
"-q"簡化輸出結果
"--alluredir": 生成allure指定語法
"./report":生成報告的路徑
"--clean-alluredir" :因為這個插件庫allure-pytest生成的報告文件,你第二次運行時候不會清理掉里面的東西,所以你需要刪除這個report文件夾,然后運行重新新建reoprt文件夾
說明:運行后,會在report文件夾里面生成文件
三.allure定制化報告
第1步:一些詞語解釋
一、feature: 標注主要功能模塊。
二、story: 標注Features功能模塊下的分支功能。
三、severity: 標注測試用例的重要級別。
1)blocker級別:中斷缺陷(客戶端程序無響應,無法執行下一步操作)
2)critical級別:臨界缺陷(功能點缺失)
3)normal級別:正常 默認為這個級別
4)minor級別:次要缺陷(界面錯誤與UI需求不符)
5)trivial級別:輕微缺陷(必輸項無提示,或者提示不規范)
四、step: 標注測試用例的重要步驟。
五、attach:用於向測試報告中輸入一些附加的信息,通常是一些測試數據信息。
1)name就是附件名稱,contents就是附件,type就是傳類型
2)附件支持的類型(TEXT,HTML,XML,PNG,JPG,JSON,OTHER)
六、issue:這里傳的是一個連接,記錄的是你的問題。
七、testcase:這里傳的是一個連接,記錄的是你的用例。
八、environment:標記用例運行的環境。
九、description:描述用例信息
注意:因為是使用這個插件pytest-allure-adaptor,所以需要@allure.MASTER_HELPER.方法(其中MASTER_HELPER是AllureHelper()的實例化對象,需要@allure.MASTER_HELPER再調用里面的方法)
第2步:代碼展示+報表展示
feature方法的演示
代碼:
報表展示:
story方法的演示
代碼:
報表展示:
severity方法的演示:
代碼:
報表展示:
setp方法的演示:
1.總的步驟備注
代碼:
報告展示:
2.分步驟備注
代碼:
報表展示:
attach方法的演示:
代碼:
報表展示:
圖片附件形式:
代碼:
報表展示:
issue和testcase方法的演示:
代碼:
報表展示:
environment 方法的演示:
代碼:(里面傳的參數可以自己定義)
報告演示:
description方法的演示:
代碼:(這兩種備注方式不能同時是存在,如果同時存在他會先使用description的,而不取3引號的)
報告演示:
第3步:運行可能存在的問題
添加@allure.MASTER_HELPER.story()等標記后運行報錯:MarkInfo objects are deprecated as they contain merged marks which are hard to deal with correctly.
解決方法:
第一種:可以修改源碼 from allure import utils 找到這個方法下面的label_os方法,修改下面的代碼為紅色圈住的地方。
2.第二種:可以直接在運行時候,添加"-p","no:warnings",這樣就不會出現錯誤。pytest.main(["-p","no:warnings","--alluredir=./report","-v"]) 或者終端運行 pytest -p no:warnings -s --alluredir=./report
四.報告顯示
報告顯示方法一:
第1步:以上運行之后,可以在CMD中運行命令
allure generate report -o html
report是alluredir生成的xml目錄,html是最終生成html的目錄
第2步:運行命令后,可以在html路徑下看到生成的數據,其中index.html就是我們要的allure報告,你可以在pycharm里面打開,報告展示如下
報告顯示方法二(這種相當於是調試):
第1步:以上運行之后,可以在CMD中運行命令
allure serve report (report是alluredir生成的xml目錄)
運行后,瀏覽器會自動跳轉到allure report界面
四.pytest+allure+jenkins集成
參考我另外的一個博客文章:https://www.cnblogs.com/hao2018/p/11135180.html
注意:在本地運行的時候需要手動把代碼拷貝到jenkins目錄下面的workspace文件夾里面;如果在git或svn上運行,jekins會直接把代碼拷貝到workspace目錄 ,如果jenkins是指定工作目錄就不用管了