如何優化和漢化Pytest-html測試報告?

2021-02-14 北京尚腦軟體測試

"""

-

@Time : 2019/8/28 19:50

@Auth : linux超

@File : conftest.py

@IDE  : PyCharm

@Motto: Real warriors,dare to face the bleak warning,dare to face the incisive error!

@QQ   : 28174043@qq.com

@GROUP: 878565760

-

"""

import pytest

from selenium import webdriver

from py._xmlgen import html

driver = None

@pytest.mark.hookwrapper

def pytest_runtest_makereport(item):

    """當測試失敗的時候,自動截圖,展示到html報告中"""

    outcome = yield

    pytest_html = item.config.pluginmanager.getplugin('html')

    report = outcome.get_result()

    extra = getattr(report, 'extra', [])

    # 如果你生成的是web ui自動化測試,請把下面的代碼注釋打開,否則無法生成錯誤截圖

    # if report.when == 'call' or report.when == "setup":

    #     xfail = hasattr(report, 'wasxfail')

    #     if (report.skipped and xfail) or (report.failed and not xfail):  # 失敗截圖

    #         file_name = report.nodeid.replace("::", "_") + ".png"

    #         screen_img = capture_screenshot()

    #         if file_name:

    #             html = '

' % screen_img

    #             extra.append(pytest_html.extras.html(html))

    #     report.extra = extra

    extra.append(pytest_html.extras.text('some string', name='Different title'))

    report.description = str(item.function.__doc__)

    report.nodeid = report.nodeid.encode("utf-8").decode("unicode_escape")  # 解決亂碼

def capture_screenshot():

    '''截圖保存為base64'''

    return driver.get_screenshot_as_base64()

def pytest_configure(config):

    # 添加接口地址與項目名稱

    config._metadata["項目名稱"] = "Linux超博客園自動化測試項目v1.0"

    config._metadata['接口地址'] = 'https://www.cnblogs.com/linuxchao/'

    # 刪除Java_Home

    config._metadata.pop("JAVA_HOME")

@pytest.mark.optionalhook

def pytest_html_results_summary(prefix):

    prefix.extend([html.p("所屬部門: xx測試中心")])

    prefix.extend([html.p("測試人員: Linux超")])

@pytest.mark.optionalhook

def pytest_html_results_table_header(cells):

    cells.insert(1, html.th('Description'))

    cells.pop(-1)  # 刪除link列

@pytest.mark.optionalhook

def pytest_html_results_table_row(report, cells):

    cells.insert(1, html.td(report.description))

    cells.pop(-1)  # 刪除link列

@pytest.fixture(scope='session')

def driver():

    global driver

    print('--open browser--')

    driver = webdriver.Firefox()

    yield driver

    print('--close browser--')

    driver.quit()

相關焦點

  • pytest---setup和teardown簡單用法
    前言  使用過unittest的小夥伴們都知道,setup和teardown是用來處理用例的開始前工作和結束後的工作,其中還有setupclass和teardownclass是保證執行所以的用例都只執行1次前置和後置,使用起來非常方便,那麼學習pytest強大的測試框框,肯定也有這個功能,並且還比unittest的簡單不少。
  • 測試負責人和測試工程師在日常工作有什麼不同
    作者:喬葉葉來源:http://www.cnblogs.com/qiaoyeye/p/5322735.html作為負責人,要考慮的事情比較多,要從大局觀、整體項目周期上看待問題。而測試工程師平時只要做好分配的任務就行,不需要考慮太多事情。以下是從項目各個階段來描述作為測試負責人應該要做的工作,也算是我對平時管理工作的一個總結。
  • 測試負責人和測試工程師在日常工作的區別
    二、開發階段  了解開發進度,主動與項目經理溝通,詢問近期要提測的項目,做好測試準備工作。  如果提測有並行且人力有限的情況下,劃分好優先級和重要性,根據優先級、重要性由高到低開始,優先級的安排要經過領導點頭。  和項目經理溝通開發測試安排,是按模塊提測還是整體提測。
  • 軟體測試工程師的自我認識和定位
    簡單的一句話概括:測試和開發就像是互補關係。開發注重的技術的深度,而測試注重的是知識面的廣度,開發懂測試,但是在測試方面上沒有測試工程師那麼專業,因為不具有測試的思維方式;中高級測試工程師很多是具有開發能力的,但是他在開發技術上沒有專職開發理解的那麼深刻,所以開發的閃光點是技術的深度,測試的閃光點是知識面的廣度和測試思維。
  • ETS新報告探索了英語能力如何能支持中國的經濟擴張
    《英語能力以及中國在全球職場中的位置》是美國教育考試服務中心(ETS)的全新報告,該報告研究了這一現象,並深入探討了英語對中國企業日益增長的重要性。本報告探討了下列幾個領域:為何英語語言能力在中國企業中的地位不斷上升?哪些企業現在更看重擁有一支英語會話工作團隊?
  • 國內軟體測試工程師薪酬報告
    了解軟體測試的真實情況,首先從各城市軟體測試調查開始,據統計目前國內各城市中北上廣蘇佔據了67%,是軟體測試熱門城市。
  • 如何自學成為頂級工程師?這有一份史上最全的慕課學習指南!
    網易字幕組團隊把可汗學院、TED講堂甚至部分Coursera課程都進行了漢化遷移,因而網易公開課上中外課程都有。缺點:有的課程已經好幾年了,內容沒有更新。遷移的課程沒有測驗,也無法獲得證書。1.國防科學技術大學公開課:數學建模——從自然走向理性之路http://open.163.com/special/cuvocw/shuxuejianmo.html 2.清華大學公開課:數學模型-現實世界的理性視角http://open.163.com/special/cuvocw/lixingshijiao.html3.上海交通大學公開課
  • Roboto 招募【兼職筆譯/遊戲漢化】英-中
    想參與新遊戲的漢化工作?馬上發送簡歷給Roboto吧!關於RobotoRoboto是一家本地化公司,專注於包括電子遊戲、電影、書籍等在內多媒體產業的本地化,同時還提供商務翻譯項目服務。在過去的十年間,Roboto已成功為150多家來自世界各地的公司提供了語言翻譯服務,其中半數仍與Roboto保持良好的合作關係。
  • HTML常用排版標籤
    為了使網頁更具有語義化,我們經常會在頁面中用到標題標籤,HTML提供了6個等級的標題,即:<h1>、<h2>、<h3>、<h4>、<h5>和<h6><h1>到<h6>元素中的字母h是英文headline的簡稱。
  • 職場流行的DISC性格測試—簡便、快捷、易用!(附測試工具)
    《DISC性格測試標準版》由中國九型人格網團隊在DISC行為風格原理基礎上結合九型人格理論設計開發,共計52題(分上、下兩個部分),完成測試大約需要5-8分鐘。DISC測試報告除了提供標準版的DISC測試分析報告,還提供
  • 九型人格測試(專業版)
    九型人格不僅僅是一種精妙的性格分析工具,更主要的是為個人修養、自我提升和歷練提供更深入的洞察力。與當今其它性格分類法不同,九型人格揭示了人們內在最深層的價值觀和注意力焦點,它不受表面的外在行為的變化所影響。
  • 企業職場流行的DISC性格測試—簡便、快捷、易用!(附測試工具)
    DISC的兩個維度分別是:「任務—人際」維度和「被動—主動」維度。根據一個人到底是任務導向還是人際導向,比較主動還是比較被動(被動的意思不是反應慢,而是他遇到事情會想一想),我們把人的行為風格分為DISC四種。
  • 測試人際關係測試
    c、和我相處時人會感到舒服。  12.在晚會上,如果有人提議讓我唱歌或表演時,我會  a、婉言謝絕。  b、欣然接受。  c、直截了當地拒絕。  13.對於朋友的優缺點,我喜歡  a、誠心誠意地當面讚揚他的優點。  b、會誠實地對他提出批評意見。
  • [入門]初學PHP之HTML
    從今天開始每天一篇(除了本人有事不發)學習PHP文章帶帶大家入門,初學PHP我們必須了解一些HTML標籤,以我個人的經驗以下標籤是初期必須要熟練掌握的:<html
  • MBTI職業性格測試93題完整版,MBIT測試官方測試題,免費測試丨霍蘭德職業性格測試
    ,用以衡量和描述人們在獲取信息、作出決策、對待生活等方面的心理活動規律和性格類型。1、參加測試的人員請務必誠實、獨立地回答問題,只有如此,才能得到有效的結果。2、《性格分析報告》展示的是你的性格傾向,而不是你的知識、技能、經驗。
  • Excel文件損壞如何修復?Excel打不開解決方法
    第二種方法:轉換格式運用這種方法是將受損的Excel工作簿重新保存,並將保存格式選為SYLK格式;一般情況下,如果是可以打開受損Excel文件,只是不能對文件進行各種編輯和列印操作的話,那麼建議大家嘗試這種方法,來將受損的Excel工作簿轉換為SYLK格式來保存,那麼通過這種方法可篩選出文檔中的損壞部分。
  • HTML基礎知識
    DOCTYPE html><html><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title&
  • CUDA優化的冷知識|什麼是APOD開發模型?
    從本篇開始,我們將出一系列文章面向CUDA開發者一起來解讀《CUDA C Best Practices Guide》 (CUDA C最佳實踐指南)大家可以訪問:https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html
  • 前端面試題(理論知識+HTML+CSS+JavaScript)襲來,請接招!【附答案】
    伺服器端響應http請求,瀏覽器得到html代碼e. 瀏覽器解析html代碼,並請求html代碼中的資源f. 瀏覽器對頁面進行渲染呈現給用戶參考《一次完整的HTTP事務是怎樣一個過程》1.2、談談你對前端性能優化的理解a. 請求數量:合併腳本和樣式表,CSS Sprites,拆分初始化負載,劃分主域b.
  • 在東莞和惠州入職可以代辦體檢報告嗎?
    既然如何, 西班牙說過一句富有哲理的話,自知之明是最難得的知識。我希望諸位也能好好地體會這句話。佚名在不經意間這樣說過,感激每一個新的挑戰,因為它會鍛造你的意志和品格。這句話語雖然很短,但令我浮想聯翩。笛卡兒在不經意間這樣說過,讀一切好書,就是和許多高尚的人談話。我希望諸位也能好好地體會這句話。