『德不孤』Pytest框架 — 9.Pytest測(cè)試報(bào)告

(1)pytest-html插件

Pytest可以通過命令??式晒杈,?成xml/html格式的測(cè)試報(bào)告嫂伞,并存儲(chǔ)于?戶指定路徑。

需要用到pytest-html插件拯钻。

安裝?式:pip install pytest-html

插件使用方式:

命令格式:--html=?戶路徑/report.html

運(yùn)??式:

  1. main()函數(shù)方式:

    pytest.main(['--html=./report/report_01.html'])(不好使帖努,可能配置了pytest.ini文件)

  2. 命令行方式:

    在report目錄中生成report.html測(cè)試報(bào)告。

    pytest ./pytest_demo/test_pytest_01.py --html=./report/report.html

  3. 使用pytest.ini文件方式:

    addopts屬性后追加--html參數(shù)配置粪般,在report目錄中生成report.html測(cè)試報(bào)告拼余。

    addopts = -s --html=../report/report.html

執(zhí)?結(jié)果:

在指定?錄中會(huì)?成assets?件夾(css文件)和report.html?件

提示:若要?成xml?件,可將--html=./report.html改成--junitxml= report/report.xml

(2)Allure測(cè)試報(bào)告

1)Allure框架說明:

Allure生成的測(cè)試報(bào)告與上面pytest-html插件生成的測(cè)試報(bào)告對(duì)比亩歹,簡(jiǎn)直完美匙监!

Allure是一個(gè)Report框架,是一種靈活的輕量級(jí)捆憎,支持多語言的測(cè)試報(bào)告工具舅柜,它不僅能夠以簡(jiǎn)潔的web報(bào)告形式顯示已測(cè)試的內(nèi)容,并帶有失敗用例截圖躲惰、測(cè)試步驟和測(cè)試說明信息致份,也可以集成到Jenkins上展示高大上的報(bào)告界面。

而且允許參與開發(fā)過程的每個(gè)人從測(cè)試的日常執(zhí)行中提取最大限度的有用信息础拨。

Allure框架支持的語言包括:

  • Java
  • Python
  • JavaScript
  • Ruby
  • Groovy
  • PHP
  • .Net
  • Scala

Allure幫助文檔

2)Allure框架的使用

步驟1:下載Allure框架氮块,并配置到環(huán)境變量中

Allure框架下載地址:https://github.com/allure-framework/allure2/releases

然后解壓Allure框架文件绍载,放到自己指定的目錄中。

把Allure框架的bin目錄配置到Path環(huán)境變量中滔蝉。

步驟2:驗(yàn)證Allure框架是否安裝成功

使用命令:allure --version

需要在CMD命令行和PyCharm的Terminal中击儡,都需要驗(yàn)證一下。

因?yàn)镃MD可以驗(yàn)證通過蝠引,但是PyCharm中驗(yàn)證失敗阳谍,如下:

J:\PyCharmWorkSpace\Pytest_d>allure --version
'allure' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
或批處理文件螃概。

解決:需要重啟PyCharm矫夯。

步驟3:下載allure-pytest庫(插件)

執(zhí)行安裝命令:pip install allure-pytest

步驟4:設(shè)置生成的Json格式臨時(shí)報(bào)告的存放位置。

配置pytest.ini文件吊洼,在pytest.ini全局配置文件中的addopts屬性中添加:

--alluredir ../report/temp_jsonreport

例如:addopts = -vs --alluredir ../report/temp_jsonreport

然后我們執(zhí)行測(cè)試用例就可以了训貌,當(dāng)然--alluredir參數(shù)也可以不配置在pytest.ini文件,比如在執(zhí)行測(cè)試的命令行或者mian()函數(shù)中填寫都可以冒窍。(主要是生成Json格式的測(cè)試報(bào)告递沪,是多個(gè)json文件)

提示:

  • 命令?參數(shù):pytest --alluredir report,是在執(zhí)?命令?錄?成report?件夾综液,?件夾下包含xml?件款慨。
  • pytest.ini文件中的生成報(bào)告的命令替換成--alluredir report,在命令行中運(yùn)行pytest即可生成報(bào)告格式為json格式意乓,保存在項(xiàng)目文件的report文件夾中樱调。

步驟5:生成Allure測(cè)試報(bào)告

原理是:使用第一步下載的Allure框架把Json格式的測(cè)試報(bào)告,轉(zhuǎn)換成精美的HTML測(cè)試報(bào)告届良。

將上面/report/temp_jsonreport文件夾中的json格式的測(cè)試報(bào)告轉(zhuǎn)化為HTML格式的測(cè)試報(bào)告笆凌。

執(zhí)行命令:allure generate ./report/temp_jsonreport -o ./report/html --clean

注意:以執(zhí)行命令的目錄為相對(duì)路徑。

說明:

  • allure generate: 固定命令士葫。
  • ./report/temp_jsonreport:生成的Json格式的臨時(shí)報(bào)告的路徑乞而。
  • -o:輸出output。
  • ./report/html:生成的Allure報(bào)告的路徑慢显。
  • --clean:清空./report/html路徑中原來的Allure測(cè)試報(bào)告爪模。

提示:main()函數(shù)中執(zhí)行如上命令

if __name__ == '__main__':
    pytest.main()
    os.system("allure generate ./report/temp_jsonreport -o ./report/html --clean")
    
# 或者直接用main函數(shù)調(diào)用,哪種方式都可以荚藻。
# (直接執(zhí)行測(cè)試文件屋灌, 而不用pytest的方式執(zhí)行,就可以執(zhí)行)
pytest.main(["testCase_demo1.py","-sv","--alluredir","../report/temp_jsonreport"])
os.system("allure generate ./report/temp_jsonreport -o ./report/html --clean")

說明:找不到路徑的話应狱,可以在Python Console窗口調(diào)試共郭。

最后:生成的Allure測(cè)試報(bào)告如下圖:

提示:Allure測(cè)試報(bào)告支持自定義修改。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市除嘹,隨后出現(xiàn)的幾起案子写半,更是在濱河造成了極大的恐慌,老刑警劉巖尉咕,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叠蝇,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡年缎,警方通過查閱死者的電腦和手機(jī)悔捶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晦款,“玉大人炎功,你說我怎么就攤上這事』航Γ” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵赁温,是天一觀的道長(zhǎng)坛怪。 經(jīng)常有香客問我,道長(zhǎng)股囊,這世上最難降的妖魔是什么袜匿? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮稚疹,結(jié)果婚禮上居灯,老公的妹妹穿的比我還像新娘。我一直安慰自己内狗,他們只是感情好怪嫌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柳沙,像睡著了一般岩灭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赂鲤,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天噪径,我揣著相機(jī)與錄音,去河邊找鬼数初。 笑死找爱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的泡孩。 我是一名探鬼主播车摄,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了练般?” 一聲冷哼從身側(cè)響起矗漾,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎薄料,沒想到半個(gè)月后敞贡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摄职,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年誊役,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谷市。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蛔垢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出迫悠,到底是詐尸還是另有隱情鹏漆,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布创泄,位于F島的核電站艺玲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鞠抑。R本人自食惡果不足惜饭聚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搁拙。 院中可真熱鬧秒梳,春花似錦、人聲如沸箕速。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弧满。三九已至婆跑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間庭呜,已是汗流浹背滑进。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留募谎,地道東北人扶关。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像数冬,于是被迫代替她去往敵國和親节槐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子搀庶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容