python pytest測試架構介紹四----pytest-html外掛程式html帶錯誤截圖及失敗重測機制

來源:互聯網
上載者:User

標籤:[]   mod   http   www   sel   report   utc   圖文   web自動化   

一、html報告錯誤

這次介紹pytest第三方外掛程式pytest-html

這裡不介紹怎麼使用,因為怎麼使用網上已經很多了,這裡給個地址給大家參考,pytest-html產生html報告

 

今天在這裡介紹pytest產生的報告怎麼帶有,這在web自動化測試非常有用。

需求是測試案例錯誤就,方法如下:

我們要建立一個關於的外掛程式檔案conftest.py,注意,檔案名稱不能變,因為pytest-html會自動找這個自己寫的外掛程式,內容如下:

from selenium import webdriverimport pytestdriver = None@pytest.mark.hookwrapperdef pytest_runtest_makereport(item):    """    Extends the PyTest Plugin to take and embed screenshot in html report, whenever test fails.    :param item:    """    pytest_html = item.config.pluginmanager.getplugin(‘html‘)    outcome = yield    report = outcome.get_result()    extra = getattr(report, ‘extra‘, [])    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"            _capture_screenshot(file_name)            if file_name:                html = ‘<div><img src="%s" alt="screenshot" style="width:304px;height:228px;" ‘                        ‘onclick="window.open(this.src)" align="right"/></div>‘ % file_name                extra.append(pytest_html.extras.html(html))        report.extra = extradef _capture_screenshot(name):    driver.get_screenshot_as_file(name)@pytest.fixture(scope=‘session‘, autouse=True)def browser():    global driver    if driver is None:        driver = webdriver.Firefox()    return driver

 

關於conftest.py檔案怎麼應用,可以查看文檔:conftest.py how to put

接下來,就是寫用例了,在與conftest當前檔案夾下寫用例檔案test_aa.py,如下

def test_screenshot_on_test_failure(browser):    browser.get("https://www.baidu.com")    assert False

 

然後再次用pytest運行,運行方式如下:

E:\>pytest -s -v test_aa.py --html=report.html

然後我們可以在E盤下看到產生了report.html檔案及測試案例為名的png檔案

開啟html檔案,詳情如下:

 參考:

https://pypi.python.org/pypi/pytest-html

二、失敗重試

使用的外掛程式是pytest-rerunfailures,官網這裡

使用方法:

在測試時加入--rerun參數

py.test --rerun 2用例失敗再重測2次

 

python pytest測試架構介紹四----pytest-html外掛程式html帶錯誤及失敗重測機制

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.