<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

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

      0
      分享至

      前言

      當(dāng)我們在公司跑UI自動化的時候,一般都會選擇晚上或者工作日休息時進(jìn)行運(yùn)行。那么當(dāng)程序這時運(yùn)行,如果自動化出現(xiàn)錯誤,我們又不知道當(dāng)時頁面是什么原因?qū)е聹y試用例失敗,怎么辦?

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



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

      UnitTest

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

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

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

      UnitTest生成的測試報告常見的有HTMLTestrunner,這個是屬于Python的一個標(biāo)準(zhǔn)庫,需要下載,下載完成后使用時候,直接進(jìn)行調(diào)用即可。

      HTMLTestrunner支持截圖功能,需要二次開發(fā),具體開發(fā)內(nèi)容小編就不做太多介紹,小編從網(wǎng)上下載一個開源的HTMLTestrunner,存放在我們的測試路徑下,接下來就直接使用代碼進(jìn)行調(diào)用:

      #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))

      #執(zhí)行用例

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

      description="測試結(jié)果",

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

      runner.run(testunit)

      代碼編寫完成后,直接進(jìn)行執(zhí)行程序,執(zhí)行完成后,就會發(fā)現(xiàn)我們測試報告已經(jīng)生成了,直接打開就可以看到自動化測試結(jié)果,失敗的存在截圖信息。



      Pytest

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

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

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

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

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

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

      #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):

      #獲取鉤子方法的調(diào)用結(jié)果

      outcome=yield

      rep=outcome.get_result()

      #僅僅獲取用例call執(zhí)行結(jié)果是失敗的情況

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

      #添加allure報告截圖

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

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

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

      attachment_type=allure.attachment_type.PNG)

      #配置瀏覽器驅(qū)動,不顯示瀏覽器執(zhí)行過程

      @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軟件測試網(wǎng)')

      t=driver.title

      assert t=='51testing軟件測試網(wǎng)'

      def test_02(driver):

      #成功案例

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

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

      t=driver.title

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

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



      總結(jié)

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

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

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

      最后:在我的V:atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測試工程師面試寶典文檔資料。以及相對應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進(jìn)階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。

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

      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.

      相關(guān)推薦
      熱點(diǎn)推薦
      牌匾被小朋友涂鴉 鎮(zhèn)政府回應(yīng):暫時不會更換。“人民”二字不僅寫在牌匾,更刻在了心底!

      牌匾被小朋友涂鴉 鎮(zhèn)政府回應(yīng):暫時不會更換。“人民”二字不僅寫在牌匾,更刻在了心底!

      閃電新聞
      2026-05-08 22:27:49
      MoE路由擁有「記憶」:RMS-MoE用檢索記憶協(xié)同實(shí)現(xiàn)更高效專家調(diào)度

      MoE路由擁有「記憶」:RMS-MoE用檢索記憶協(xié)同實(shí)現(xiàn)更高效專家調(diào)度

      機(jī)器之心Pro
      2026-05-09 09:37:42
      病毒不在中國爆發(fā),外媒全啞火了!外國網(wǎng)友:怎么還沒人責(zé)怪荷蘭

      病毒不在中國爆發(fā),外媒全啞火了!外國網(wǎng)友:怎么還沒人責(zé)怪荷蘭

      混沌錄
      2026-05-09 14:54:10
      昨日因果昨日了!這次馬伊琍文章再合體,給內(nèi)娛離異夫妻上了一課

      昨日因果昨日了!這次馬伊琍文章再合體,給內(nèi)娛離異夫妻上了一課

      天天熱點(diǎn)見聞
      2026-05-09 18:41:26
      廣東絕殺奇兵多神奇:張皓嘉壓哨三分絕殺 一場超前4場得分總和

      廣東絕殺奇兵多神奇:張皓嘉壓哨三分絕殺 一場超前4場得分總和

      醉臥浮生
      2026-05-09 21:57:39
      滴滴司機(jī)講述東北蕭條:一家三口一年掙兩三萬,很多老人翻垃圾桶

      滴滴司機(jī)講述東北蕭條:一家三口一年掙兩三萬,很多老人翻垃圾桶

      互聯(lián)網(wǎng)大觀
      2026-05-09 13:07:25
      深圳富士康涌入很多印度人,老員工一眼看穿來意:根本不是來打工

      深圳富士康涌入很多印度人,老員工一眼看穿來意:根本不是來打工

      搗蛋窩
      2026-05-09 15:37:17
      冠軍穩(wěn)了?蓉城創(chuàng)紀(jì)錄8連勝!終結(jié)對苦主4場不勝 11輪后11分領(lǐng)跑

      冠軍穩(wěn)了?蓉城創(chuàng)紀(jì)錄8連勝!終結(jié)對苦主4場不勝 11輪后11分領(lǐng)跑

      我愛英超
      2026-05-09 22:01:08
      4天內(nèi)3名夜班工作人員突發(fā)心梗、腦梗,年齡均在70歲前后,大連一物業(yè):目前3人都在養(yǎng)病,將改進(jìn)值班排班方式

      4天內(nèi)3名夜班工作人員突發(fā)心梗、腦梗,年齡均在70歲前后,大連一物業(yè):目前3人都在養(yǎng)病,將改進(jìn)值班排班方式

      都市快報橙柿互動
      2026-05-09 22:12:28
      解放前特務(wù)用很小的電臺就能向臺灣發(fā)報,可如今為什么沒法做到?

      解放前特務(wù)用很小的電臺就能向臺灣發(fā)報,可如今為什么沒法做到?

      宅家伍菇?jīng)?/span>
      2026-05-09 09:41:53
      性能有傳承,油電有遠(yuǎn)見:一汽奧迪在變革時代交出穩(wěn)健答卷

      性能有傳承,油電有遠(yuǎn)見:一汽奧迪在變革時代交出穩(wěn)健答卷

      汽車投訴網(wǎng)
      2026-05-06 17:55:53
      鄉(xiāng)鎮(zhèn)女大學(xué)生曬“低審美”穿搭,網(wǎng)友眼前一黑:求求你都扔了吧!

      鄉(xiāng)鎮(zhèn)女大學(xué)生曬“低審美”穿搭,網(wǎng)友眼前一黑:求求你都扔了吧!

      妍妍教育日記
      2026-05-09 10:34:34
      女子火車上怒懟吸煙區(qū),喊話全列禁煙卻被網(wǎng)友嘲諷 ,12306回應(yīng)

      女子火車上怒懟吸煙區(qū),喊話全列禁煙卻被網(wǎng)友嘲諷 ,12306回應(yīng)

      寒士之言本尊
      2026-05-08 23:19:49
      3-0爆冷世界第五仰天怒吼!18歲天才閃耀 雷洋:法國隊有冠軍相

      3-0爆冷世界第五仰天怒吼!18歲天才閃耀 雷洋:法國隊有冠軍相

      顏小白的籃球夢
      2026-05-09 09:29:53
      深圳6歲男童吃生菜包烤肉后,全身出現(xiàn)大片青斑、血腫

      深圳6歲男童吃生菜包烤肉后,全身出現(xiàn)大片青斑、血腫

      聽心堂
      2026-05-09 18:11:29
      5月9日閱兵的俄羅斯,走向垃圾時間

      5月9日閱兵的俄羅斯,走向垃圾時間

      黔有虎
      2026-05-09 16:22:09
      山東29歲美女王冰冰去世,確診前月經(jīng)不調(diào),未婚未育辦1個人婚禮

      山東29歲美女王冰冰去世,確診前月經(jīng)不調(diào),未婚未育辦1個人婚禮

      180視角
      2026-05-09 07:54:07
      “這環(huán)境,咋敢生孩子?”女孩因充電器被碰掉絕食,窮人家的公主

      “這環(huán)境,咋敢生孩子?”女孩因充電器被碰掉絕食,窮人家的公主

      妍妍教育日記
      2026-05-09 13:31:49
      女子190元買榴蓮“僅退款”被拘,往返1600公里討公道的河南商家最新發(fā)聲:買家才20多歲,她父母想?yún)f(xié)商和解,我要求依法處理,并公開道歉

      女子190元買榴蓮“僅退款”被拘,往返1600公里討公道的河南商家最新發(fā)聲:買家才20多歲,她父母想?yún)f(xié)商和解,我要求依法處理,并公開道歉

      大風(fēng)新聞
      2026-05-09 10:00:07
      抓了那么多貪官,錢呢?跟我們有關(guān)系嗎?

      抓了那么多貪官,錢呢?跟我們有關(guān)系嗎?

      細(xì)說職場
      2026-05-08 22:15:45
      2026-05-09 23:11:00
      51Testing軟件測試網(wǎng) incentive-icons
      51Testing軟件測試網(wǎng)
      中國軟件測試人的精神家園
      1567文章數(shù) 13263關(guān)注度
      往期回顧 全部

      科技要聞

      美國政府強(qiáng)力下場 蘋果英特爾達(dá)成代工協(xié)議

      頭條要聞

      毛焦?fàn)柈?dāng)選匈牙利總理 此前曾表示有意訪問北京

      頭條要聞

      毛焦?fàn)柈?dāng)選匈牙利總理 此前曾表示有意訪問北京

      體育要聞

      成立128年后,這支升班馬首奪頂級聯(lián)賽冠軍

      娛樂要聞

      50歲趙薇臉頰凹陷滄桑得認(rèn)不出!

      財經(jīng)要聞

      多地號召,公職人員帶頭繳納物業(yè)費(fèi)

      汽車要聞

      軸距加長/智駕拉滿 阿維塔07L定位大五座SUV

      態(tài)度原創(chuàng)

      房產(chǎn)
      家居
      親子
      教育
      健康

      房產(chǎn)要聞

      低價甩賣!海口這個地標(biāo)商業(yè),無人接盤!

      家居要聞

      菁英人居 全能豪宅

      親子要聞

      告別每日一針!兒童長高治療迎來“周制劑”時代,全新專家共識在滬發(fā)布

      教育要聞

      “三山五園”當(dāng)教材?!海淀這所中學(xué)太會了

      干細(xì)胞能讓人“返老還童”嗎

      無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 久爱www人成免费网站| 色婷婷色丁香| av在线链接| 亚洲AV无码成人精品区网页| 色多多www视频在线观看免费| 午夜寂寞少妇aaa片毛片| 国产精品久久精品第一页| 日韩精品一区二区亚洲av性色| 免费看a级毛片| 巨胸喷奶水www视频网站| 欧美疯狂xxxxxbbbbb| 亚洲欧洲美色一区二区三区| 无码囯产精品一区二区免费| 国产三级精品三级在线观看| 久久久久青草线综合超碰| 精品人妻av区乱码| 久久99免费麻辣视频| 无码少妇高潮浪潮av久久| 国产精品国产三级网站| 精品国产Av电影无码久久久| 欧美成人精品三级在线观看| 亚洲精品乱码久久久久久久| 国产一区18| 丁香五月天导航| 无码AV无码免费一区二区| 国产精品日韩av在线播放| 极品美女高潮呻吟国产剧情| 四虎永久在线精品国产| √国产精品| 一级一毛片a级毛片| 97精品国产久热在线观看| 色综合色综合色综合色欲| 青青青青国产免费线在线观看 | 成人免费观看视频福利| 99精品国产在热久久| 色综合久久久久久久久五月| 久久高清超碰AV热热久久 | 亚洲国产精品成人天堂| 色偷偷88888欧美精品久久久| 中国成人XXXX高清视频| 亚洲人成人网|