allure是用來生成測試報(bào)告的部蛇。是一個(gè)靈活的開源的輕量級(jí)的多平臺(tái)支持的測試報(bào)告框架。
https://github.com/allure-framework.官方文檔。
pytest是python的一個(gè)開源庫稻艰,接口測試使用非常方便。
環(huán)境準(zhǔn)備:一.allure安裝
1.需要有jdk準(zhǔn)備侈净。 沒有請(qǐng)?jiān)诖讼螺d:http://www.oracle.com/technetwork/java/javase/downloads/index.html
下載后配置好環(huán)境變量:JAVA_HOME:C:\Program Files\Java\jdk-10.0.1(下載的jdk放的目錄尊勿。CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar)
測試jdk是否成功僧凤,cmd -》java -version? 回車后,看到如下:
2.Windows下不能直接安裝元扔,點(diǎn)擊此鏈接下載壓縮包
下載后躯保,解壓然后將...\bin目錄,配置到系統(tǒng)環(huán)境變量pyth里(或者是直接在下載解壓的allure文件夾的bin目錄下執(zhí)行allure.bat自動(dòng)配置環(huán)境變量? 澎语,試過此方法不可以途事。還是需要手動(dòng)配置環(huán)境變量的)。
cmd執(zhí)行allure命令 可以看到如下圖擅羞,表示成功尸变。
二、python環(huán)境搭建
https://www.python.org/downloads/release/python-369/下載 3.0以上的版本减俏。(安裝時(shí)候勾選自動(dòng)配置環(huán)境變量)
測試python是否安裝成功召烂,cmd->python 回車
pip配置(C:\Users\劉***\AppData\Local\pip)
python配置好環(huán)境變量后,如果pip命令不可用娃承,可能環(huán)境變量中間過程出錯(cuò)了奏夫,需要python -m pip install --upgrade pip。執(zhí)行以下历筝。
三酗昼、插件安裝
1.安裝:pytest.? ?pip install pytest.
2.安裝:pip?install? allure-pytest
allure-pytest是python的一個(gè)第三方庫。用于連接pytest和allure漫谷,使它們可以配合在一起使用仔雷。
allure-pytest基于pytest的原始執(zhí)行結(jié)果生成適用于allure的json格式結(jié)果。該json格式結(jié)果可以用于后續(xù)適用allure生成html結(jié)果舔示。
許多網(wǎng)上文章中是安裝pytest-allure-adaptor碟婆。這個(gè)第三方庫已經(jīng)過時(shí)了,無法和現(xiàn)有的pytest搭配使用惕稻。準(zhǔn)確的是裝:pip install allure-pytest?
四竖共、生成測試報(bào)告
測試代碼:
使用pycharm新建一個(gè)test.py文件,代碼如下:
import pytest
import allure
@pytest.fixture(scope='function')
def login():
print("登錄")
yield
? ? print("登錄完成")
@allure.feature('加入購物車')
def test_1(login):
"""將蘋果加入購物車"""
? ? print("測試用例1")
@allure.feature('加入購物車')
def test_2():
"""將橘子加入購物車"""
? ? print("測試用例2")
在pycharm中打開terminal
輸入命令pytest -s --alluredir=report? ?****? ? (****為需要執(zhí)行的python文件)
此時(shí)會(huì)生成report目錄俺祠,目錄下有用例對(duì)應(yīng)的json報(bào)告文件公给,
當(dāng)然json格式的報(bào)告不夠直觀,我們需要通過allure將它轉(zhuǎn)成HTML格式的報(bào)告蜘渣。執(zhí)行命令:allure generate --clean report
查看方式1:回到根目錄下淌铐,會(huì)生成一個(gè)allure-report的文件夾,在pycharm中打開文件夾蔫缸,點(diǎn)擊index.html運(yùn)行
查看方式2:在本地查看報(bào)告在cmd命令執(zhí)行?allure serve allure-result
可以在本地查看報(bào)告(備注:allure的報(bào)告需要有Server服務(wù)器apache腿准、tomcat、jetty等才能被查看) (在cmd命令下使用 allure help 可以查看詳細(xì)的參數(shù)說明)
ok拾碌,到此為止吐葱〗滞可以看到allure的測試報(bào)告了
六、pytest寫測試注意
我們發(fā)現(xiàn)編寫pytest測試樣例非常簡單弟跑,只需要按照下面的規(guī)則:
測試文件以test_開頭(以_test結(jié)尾也可以)
測試類以Test開頭灾前,并且不能帶有init方法
測試函數(shù)以test_開頭
斷言使用基本的assert即可
七、可能碰到錯(cuò)誤
1.輸入命令pytest -s --alluredir=report 報(bào)錯(cuò):
解決
cmd執(zhí)行如下命令:
pip uninstall pytest-allure-adaptor
pip install allure-pytest
2.執(zhí)行命令后報(bào)此錯(cuò)誤:
?注意:因?yàn)槭鞘褂眠@個(gè)插件pytest-allure-adaptor孟辑,所以需要@allure.MASTER_HELPER.方法(其中MASTER_HELPER是AllureHelper()的實(shí)例化對(duì)象哎甲,需要@allure.MASTER_HELPER再調(diào)用里面的方法)? ? 但是我裝的是插件allure-pytest? 所以不能用這個(gè)語句。