allure結(jié)合python生成測試報(bào)告教程
百度搜索實(shí)例
一、代碼結(jié)構(gòu)本案例來自于霍格沃茲測試學(xué)院《高薪測試成長圖譜》。data.yml為數(shù)據(jù)管理文件,test_baidudemo.py為測試用例文件,文件結(jié)構(gòu)如下:
創(chuàng)建data/data.yml文件,代碼如下
- allure- pytest- unittest
創(chuàng)建test_baidudemo.py,代碼如下
#!/usr/bin/env python# -*- coding: utf-8 -*-from __future__ import unicode_literalsimport allureimport pytestimport yamlfrom selenium import webdriverimport [email protected]('https://www.baidu.com')@allure.feature('百度搜索')@pytest.mark.parametrize(’test_data1’,yaml.safe_load(open('data/data.yml')))def test_steps_demo(test_data1): with allure.step('打開百度網(wǎng)頁'):driver = webdriver.Chrome()driver.get('https://www.baidu.com')driver.maximize_window() with allure.step(f'輸入搜索詞:{test_data1}'):driver.find_element_by_id('kw').send_keys(test_data1)time.sleep(2)driver.find_element_by_id('su').click()time.sleep(2) with allure.step('保存圖片'):driver.save_screenshot('./result/b.png')allure.attach.file('./result/b.png',attachment_type=allure.attachment_type.PNG) with allure.step('關(guān)閉瀏覽器'):driver.quit()二、運(yùn)行結(jié)果
進(jìn)入項(xiàng)目目錄下,使用以下語句運(yùn)行
pytest test_baidudemo.py -s -q --alluredir=./result/ #執(zhí)行測試用例,并生成測試報(bào)告數(shù)據(jù)在當(dāng)前文件夾result文件下allure serve ./result/ #啟動allure,并使用result下的測試結(jié)果數(shù)據(jù)生成測試報(bào)告
生成的報(bào)告如下圖所示:
運(yùn)行時(shí)總是報(bào)錯(cuò)當(dāng)前chromedriver只支持chrome78,實(shí)際上已經(jīng)更新了chromedriver83,未找到原因解決,最終在代碼里加上chromedriver絕對路徑。將driver = webdriver.Chrome()修改為driver = webdriver.Chrome(‘C:Program Files (x86)GoogleChromeApplicationchromedriver.exe’)。
with allure.step(f'輸入搜索詞:{test_data1}'):,在python3.6.8版本上運(yùn)行該語句總是報(bào)語法錯(cuò)誤,修改為 with allure.step(“輸入搜索詞:”+test_data1):,可以正常運(yùn)行并輸出。
allure簡介與使用allure簡介Allure是一款輕量級并且非常靈活的開源測試報(bào)告框架。 它支持絕大多數(shù)測試框架, 例如TestNG、Pytest、JUint等。它簡單易用,易于集成。
allure如何生成測試報(bào)告
運(yùn)行的時(shí)候加上 pytest.main ( ‘?alluredir’, ‘report/result’, ‘TestDemo01.py’]) 會在當(dāng)前文件夾創(chuàng)建一個(gè)report文件夾,在report文件夾下創(chuàng)建result
生成html測試報(bào)告
因?yàn)樯傻臏y試報(bào)告是json的,不好看,所有用這個(gè)命令生成一個(gè)好看的HTML測試報(bào)告
運(yùn)行之后,就會生成一個(gè)HTML文件夾,點(diǎn)開index.html這個(gè)就是我們的測試報(bào)告啦
allure幾個(gè)常用特性(測試報(bào)告中展示)
@allure.feature (用于描述被測試產(chǎn)品需求)
@allure.story (用于描述feature的用戶場景,即測試需求)
with allure.step() (用于描述測試步驟,將會輸出到報(bào)告中)
allure.attach (用于向測試報(bào)告中輸入一些附加的信息,通常是一些測試數(shù)據(jù),截圖等)
pytest斷言設(shè)置并結(jié)合allure生成測試報(bào)告
測試報(bào)告
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. CSS3中Transition屬性詳解以及示例分享2. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對象Application和Session)3. jsp文件下載功能實(shí)現(xiàn)代碼4. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法5. asp.net core項(xiàng)目授權(quán)流程詳解6. html中的form不提交(排除)某些input 原創(chuàng)7. ASP常用日期格式化函數(shù) FormatDate()8. CSS3實(shí)現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效9. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗(yàn)分享10. XMLHTTP資料
