python: 3.6.8pytest: 4.6.3allure: 2.12.1allure-pytest: 2.6.5
最近有使用pytest
寫(xiě)接口測(cè)試,pytest本身所輸出的測(cè)試報(bào)告比較丑。
在網(wǎng)上搜了一下,基本上大家都是使用allure
配合pytest
生成美觀的測(cè)試報(bào)告。
方法本身沒(méi)問(wèn)題,但是在初始的安裝和demo步驟上還是基于以前allure 1.x
的版本,沒(méi)有進(jìn)行更新。
所以本篇博文更新了針對(duì)allure 2.x
版本安裝和demo運(yùn)行步驟。
pytest
pytest
是python
的一個(gè)第三方單元測(cè)試框架,在這里用于生成原始的執(zhí)行結(jié)果。
命令行或者終端中輸入 pip install pytest
即可進(jìn)行安裝。
allure-pytest
allure-pytest
是python
的一個(gè)第三方庫(kù)。用于連接pytest
和allure
,使它們可以配合在一起使用。allure-pytest
基于pytest
的原始執(zhí)行結(jié)果生成適用于allure
的json格式結(jié)果。該json格式結(jié)果可以用于后續(xù)適用allure
生成html結(jié)果。
命令行或者終端中輸入 pip install allure-pytest
即可進(jìn)行安裝。
許多博客中是安裝
pytest-allure-adaptor
。這個(gè)第三方庫(kù)已經(jīng)過(guò)時(shí)了,無(wú)法和現(xiàn)有的pytest
搭配使用。
allure
安裝allure
的方法具體可以參照 allure官方安裝說(shuō)明。
我的電腦安裝的系統(tǒng)是Ubuntu 18.04
,但很遺憾按照官方的說(shuō)明使用apt
方式?jīng)]有安裝成功。
大家如果也出現(xiàn)這種情況的話(huà),可以使用 allure官方安裝說(shuō)明 頁(yè)面中2.1.4
的方法下載 allure 后,手動(dòng)進(jìn)行安裝。
pytest
寫(xiě)個(gè)測(cè)試文件# coding:utf-8def func(x): return x + 3def test_func_0(): src = 0 expect = 3 assert func(src) == expectdef test_func_1(): src = 0.1 expect = 3.1 assert func(src) == expectdef test_func_2(): src = -1 expect = 0 assert func(src) == expect
pytest
和allure
生成報(bào)告a. 打開(kāi)終端terminal
,切到測(cè)試文件所在目錄。假設(shè)文件名為test_demo.py
。
b. 生成json格式運(yùn)行結(jié)果
運(yùn)行命令 pytest --alluredir=report test_demo.py
。
命令中的 --alluredir=report
指明了生成的json結(jié)果文件存放的目錄為當(dāng)前目錄下的report
文件夾
命令的運(yùn)行結(jié)果如下圖所示:
pytest
捕捉到的測(cè)試用例,每個(gè)用例的執(zhí)行結(jié)果會(huì)生成一個(gè)json文件。如下圖所示:allure
生成最終的測(cè)試報(bào)告allure generate report
。report
文件夾下的json文件渲染成網(wǎng)頁(yè)結(jié)果,方便觀看。生成的網(wǎng)頁(yè)結(jié)果默認(rèn)保存在當(dāng)前文件夾下的 allure-report
文件夾內(nèi)。allure-report
文件夾的結(jié)構(gòu)如下:
index.html
就是最終的結(jié)果頁(yè)面。但直接通過(guò)瀏覽器打開(kāi)這個(gè)文件是看不到實(shí)際內(nèi)容的,這是因?yàn)閷?shí)際內(nèi)容需要 allure
進(jìn)行渲染后才能看到。直接打開(kāi)index.html
,瀏覽器窗口如下圖所示:allure
內(nèi)置的命令。allure
使用了兩種方式來(lái)渲染頁(yè)面。分別是allure open
和 allure serve
。前者用于在本地渲染和查看結(jié)果,后者用于在本地渲染后對(duì)外展示結(jié)果。這里我們使用allure open
。運(yùn)行命令 allure open allure-report
即可自動(dòng)打開(kāi)瀏覽器展示渲染好的結(jié)果。這里的allure-report
為allure generate
生成的結(jié)果所在目錄。聯(lián)系客服