337p人体粉嫩胞高清图片,97人妻精品一区二区三区在线 ,日本少妇自慰免费完整版,99精品国产福久久久久久,久久精品国产亚洲av热一区,国产aaaaaa一级毛片,国产99久久九九精品无码,久久精品国产亚洲AV成人公司
網易首頁 > 網易號 > 正文 申請入駐

Python自帶單元測試框架UnitTest,如何生成獨立的測試報告?

0
分享至

前言

當我們在公司跑UI自動化的時候,一般都會選擇晚上或者工作日休息時進行運行。那么當程序這時運行,如果自動化出現錯誤,我們又不知道當時頁面是什么原因導致測試用例失敗,怎么辦?

這個時候我們就想到在其測試用例失敗的時候,進行自動截圖當時圖片,然后保存下來,這樣當測試人員后面查看測試報告時,就可以很清楚的看到當時錯誤內容,然后排查測試用例失敗的原因。



今天小編就介紹幾種在自動化測試報告中增加測試用例失敗的截圖的方法,這里小編運用了UI自動化測試中常用的兩種單元測試框架,進行為其增加在測試報告中增加其失敗截圖。

UnitTest

UnitTest屬于早期的Python的單元測試,其功能雖然沒有Pytest強大,但也能符合并滿足我們當時的功能需求,UnitTest屬于Python自帶的單元測試框架,類似于Java的JUnit。

UnitTest支持編寫測試自動化用例,多個用例中共享一個前置和后置內容,有多種執行測試用例的方法,支持生成獨立的測試報告內容。

具體詳情可以了解官方文檔:https://docs.python.org/2/library/unittest.html

UnitTest生成的測試報告常見的有HTMLTestrunner,這個是屬于Python的一個標準庫,需要下載,下載完成后使用時候,直接進行調用即可。

HTMLTestrunner支持截圖功能,需要二次開發,具體開發內容小編就不做太多介紹,小編從網上下載一個開源的HTMLTestrunner,存放在我們的測試路徑下,接下來就直接使用代碼進行調用:

#coding:utf-8

import unittest

import HTMLTestRunner_cn

fromseleniumimport webdriver

class Test(unittest.TestCase):

@classmethod

def setUpClass(cls):

cls.driver=webdriver.Chrome()

@classmethod

def tearDownClass(cls):

cls.driver.quit()

def test_01(self):

"""定位失敗截圖案例"""

self.driver.get("https://www.baidu.com")

self.driver.find_element_by_id('anjing').send_keys('百度一下')

self.driver.find_element_by_id('su').click()

self.assertTrue(True)

def test_02(self):

"""成功案例"""

self.driver.get("https://www.baidu.com")

self.assertIn("百度一下,你就知道",self.driver.title)

if__name__=="__main__":

testunit=unittest.TestSuite()

#加載用例

testunit.addTests(unittest.TestLoader().loadTestsFromTestCase(Test))

#執行用例

runner=HTMLTestRunner_cn.HTMLTestRunner(title="自動化測試報告",

description="測試結果",

stream=open("result.html","wb"),

runner.run(testunit)

代碼編寫完成后,直接進行執行程序,執行完成后,就會發現我們測試報告已經生成了,直接打開就可以看到自動化測試結果,失敗的存在截圖信息。



Pytest

Pytest是一個使創建簡單及可擴展性測試用例變得非常方便的框架,測試用例清晰、易讀而無需大量的繁瑣代碼。

只要幾分鐘你就可以對你的應用程序或者庫展開一個小型的單元測試或者復雜的功能測試。Pytest支持第三方插件,靈活性較高。

這里小編通過Pytest生成的Allure報告中添加測試報告內容。其中Allure屬于一種開源的測試框架,可以基于多種語言進行使用,如Java的JUnit、Python的Pytest。

alluer生成的報告內容比較美觀,目前測試中常用的測試報告。Allure的環境是基于Java環境的,前提條件需要將Java的環境安裝完成(下載JDK,配置環境變量)。

下載地址:https://github.com/allure-framework/allure2(具體安裝不在過多介紹)。

我們需要在conftest.py文件中去收集Pytest測試用例中失敗的結果,小編這里選擇用pytest_runtest_makereport函數來幫忙實現。

#conftest.py

from selenium import webdriver

import pytest

import time

import allure

te=time.strftime("%Y-%m-%d%H:%M:%S",time.localtime())

@pytest.hookimpl(tryfirst=True,hookwrapper=True)

def pytest_runtest_makereport(item,call):

#獲取鉤子方法的調用結果

outcome=yield

rep=outcome.get_result()

#僅僅獲取用例call執行結果是失敗的情況

if rep.when=="call"and rep.failed:

#添加allure報告截圖

with allure.step('失敗截圖:'):

#將截圖添加到報告中,圖片名稱已當前時間。

allure.attach(d.get_screenshot_as_png(),name=te,

attachment_type=allure.attachment_type.PNG)

#配置瀏覽器驅動,不顯示瀏覽器執行過程

@pytest.fixture(scope="session")

def driver():

global d

options=webdriver.ChromeOptions()

options.add_argument("--headless")

d=webdriver.Chrome(options=options)

yield d

d.quit()

編寫兩個簡單的測試用例,一個測試用例失敗,一個測試用例成功。

#coding:utf-8

def test_01(driver):

#失敗案例

driver.get('https://www.baidu.com/')

driver.find_element_by_id('kw').send_keys('51testing軟件測試網')

t=driver.title

assert t=='51testing軟件測試網'

def test_02(driver):

#成功案例

driver.get('https://www.baidu.com/')

driver.find_element_by_id('kw').send_keys('安靜')

t=driver.title

assert t=='百度一下,你就知道'

然后運行Pytest并且生成Allure報告,查看到Allure報告中,已經將對應的失敗截圖已經添加到其中了。



總結

小編分別通過UnitTest和Pytest在測試用例中增加對應的失敗截圖功能,其中關于UnitTest比較簡單,直接在網上查找對應的Htmltestrunner報告就可以了。

但是在Allure報告中添加失敗截圖,需要在conftest.py中進行對現有的函數進行二次開發,不過開發比較簡單,主要在于孰能生巧。

當然具體怎么在對應項目中使用,這個就要看小伙伴們的操作了。感謝您的閱讀,希望本篇文章對您有所幫助。

最后:在我的V:atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
特朗普,被“背叛”了

特朗普,被“背叛”了

中國新聞周刊
2026-03-21 15:26:15
醫保新規4月1日執行,1965-1985年人群注意,6項操作越早辦越好!

醫保新規4月1日執行,1965-1985年人群注意,6項操作越早辦越好!

另子維愛讀史
2026-03-20 22:25:31
一身匪氣的劉志軍

一身匪氣的劉志軍

新浪財經
2026-03-22 02:09:21
隨著日本1-0奪冠,亞洲杯獎金分配出爐:中國隊真少,亞足聯太摳

隨著日本1-0奪冠,亞洲杯獎金分配出爐:中國隊真少,亞足聯太摳

侃球熊弟
2026-03-21 19:27:39
島國十大御姐盤點,哪位是你夢中女神?

島國十大御姐盤點,哪位是你夢中女神?

碧波萬覽
2026-03-22 01:23:23
殲20設計師楊偉簡歷被撤!曾是最年輕的戰機設計師,疑涉軍工腐敗

殲20設計師楊偉簡歷被撤!曾是最年輕的戰機設計師,疑涉軍工腐敗

派大星紀錄片
2026-03-19 14:01:08
曝“成吉思汗”扮演者巴森移民蒙古!妻子發文回應,已被授予博士

曝“成吉思汗”扮演者巴森移民蒙古!妻子發文回應,已被授予博士

裕豐娛間說
2026-03-21 15:27:34
價格飆漲6000%!原研藥集體撤離中國的影響,開始出現了...

價格飆漲6000%!原研藥集體撤離中國的影響,開始出現了...

牛鍋巴小釩
2026-03-21 19:20:35
人販子“梅姨”落網,和畫像判若兩人,她拐賣孩子的數量能判死刑

人販子“梅姨”落網,和畫像判若兩人,她拐賣孩子的數量能判死刑

漢史趣聞
2026-03-21 20:38:28
“梅姨”落網!系張維平等人拐賣兒童案關鍵人物,被拐兒童家長:我一直堅信她真實存在

“梅姨”落網!系張維平等人拐賣兒童案關鍵人物,被拐兒童家長:我一直堅信她真實存在

瀟湘晨報
2026-03-21 12:29:14
特斯拉29億美元采購太陽能設備,三家中企入圍

特斯拉29億美元采購太陽能設備,三家中企入圍

芯智訊
2026-03-21 11:04:33
李梓萌,私生活傳聞太荒唐

李梓萌,私生活傳聞太荒唐

做一個合格的吃瓜群眾
2026-03-21 19:20:55
上海德云社開業三天被舉報,只因社門口放了一大蒜形狀的咖啡杯子

上海德云社開業三天被舉報,只因社門口放了一大蒜形狀的咖啡杯子

蜜桔娛樂
2026-03-21 09:37:34
她陪毛主席11年終身未嫁,臨終前說了8個字,竟和主席同月同日離世

她陪毛主席11年終身未嫁,臨終前說了8個字,竟和主席同月同日離世

寄史言志
2026-03-21 17:06:11
隨著比分定格3-0,63歲穆帥率隊27輪不敗+反超葡萄牙體育,逼近榜首

隨著比分定格3-0,63歲穆帥率隊27輪不敗+反超葡萄牙體育,逼近榜首

側身凌空斬
2026-03-22 03:54:33
日本臺灣油價接連下跌,大陸油價卻瘋漲至9元,差異原因一目了然

日本臺灣油價接連下跌,大陸油價卻瘋漲至9元,差異原因一目了然

潮鹿逐夢
2026-03-21 20:08:52
浙江一車主崩潰求救:車上有只“超兇大老鼠”!消防員苦戰20分鐘發現竟是……

浙江一車主崩潰求救:車上有只“超兇大老鼠”!消防員苦戰20分鐘發現竟是……

臺州交通廣播
2026-03-22 00:25:57
泰山隊0比4慘敗云南玉昆的背后:宿茂臻韓鵬無能無力無奈

泰山隊0比4慘敗云南玉昆的背后:宿茂臻韓鵬無能無力無奈

姜大叔侃球
2026-03-21 22:23:59
重慶一高校實驗室發生爆炸 警方:已出警處置

重慶一高校實驗室發生爆炸 警方:已出警處置

封面新聞
2026-03-21 20:28:06
沙特、阿聯酋、卡塔爾、土耳其、巴基斯坦、阿塞拜疆、巴林、埃及、約旦、科威特、黎巴嫩、敘利亞聯合聲明

沙特、阿聯酋、卡塔爾、土耳其、巴基斯坦、阿塞拜疆、巴林、埃及、約旦、科威特、黎巴嫩、敘利亞聯合聲明

澎湃新聞
2026-03-19 16:00:32
2026-03-22 05:59:00
51Testing軟件測試網 incentive-icons
51Testing軟件測試網
中國軟件測試人的精神家園
1541文章數 13254關注度
往期回顧 全部

科技要聞

宇樹招股書拆解,人形機器人出貨量第一!

頭條要聞

伊朗導彈擊中以色列核設施附近 大范圍爆炸視頻公布

頭條要聞

伊朗導彈擊中以色列核設施附近 大范圍爆炸視頻公布

體育要聞

誰在決定字母哥未來?

娛樂要聞

田栩寧終于涼了?出軌風波影響惡劣

財經要聞

通脹警報拉響,加息潮要來了?

汽車要聞

小鵬汽車2025年Q4盈利凈賺3.8億 全年營收767億

態度原創

本地
家居
房產
游戲
旅游

本地新聞

春色滿城關不?。B興春日頂流,這片櫻花海藏不住了

家居要聞

時空交織 空間綺夢

房產要聞

全城狂送1000杯咖啡!網易房產【早C計劃】,即刻啟動!

魔獸世界:時光服P3階段將至,新手該練什么職業,這個很重要!

旅游要聞

【花Young貴陽】春日限定!十里河灘海棠花盛開引客來

無障礙瀏覽 進入關懷版