Pytest安裝和入門

2021-02-15 編測編學0基礎軟體測試訓練營

Pytest是一個非常成熟的全功能的python測試框架,主要有以下幾個特點:

簡單靈活,容易上手

支持參數化

能夠支持簡單的單元測試和複雜的功能測試,還可以用來做selenium/appium等自動化測試,接口自動化測試(pytest+request)

pytest具有很多第三方插件,並且可以自定義擴展,比較好用的如pytest-selenium(集成selenium)、pytest-html(完美html測試報告生成)、pytest-rerunfailures(失敗case重複執行)、pytest-xdist(多CPU分發)等

測試用例的skip和xfail處理

可以很好的和Jenkins集成

report框架----allure 也支持了pytest

安裝 pytest

在命令行中運行以下命令:

檢查是否安裝了正確的版本:

創建第一個測試

用四行代碼創建一個簡單的測試函數:

import  pytest
def bcbx(a): return a + 2
def test_bcbx(): assert bcbx(6) == 9

就是這樣。現在可以執行測試功能:

這個 [100%] 指運行所有測試用例的總體進度。完成後,pytest會顯示一個失敗報告,因為 bcbx(6) 返回的是8而不是9 。

相關焦點

  • PyTest入門
    它使簡單的測試非常容易編寫,它擁有許多高級的功能 (和眾多插件),有助於更高級的測試方案。為了演示基本功能,我打算使用py.test演示在測試驅動風格下解決cryptopals challenges的第一集合的第一題。注意︰我要去做的第一個的挑戰和也許涉及到第二個。如果你想自己測試,可以在閱讀這篇文章的其餘部分之前這樣做。
  • Pytest學習(一)- 入門及基礎
    三、為什麼要使用Pytest就Python的測試框架而言,目前比較流行的就是pytest和unittest,unittest廣為人知,但就現在而言是老框架了,但是依舊有那麼多喜歡使用他來做自動化測試,我猜想大部分人都和我一樣,早期是從蟲師開始接觸和熟悉Python自動化的。
  • Pytest 測試框架入門
    根據 pytest 的官方網站介紹,它具有如下特點:非常容易上手,入門簡單,文檔豐富,文檔中有很多實例可以參考能夠支持簡單的單元測試和複雜的功能測試支持參數化執行測試過程中可以將某些測試跳過,或者對某些預期失敗的 case 標記成失敗支持重複執行失敗的 case支持運行由 nose , unittest 編寫的測試
  • Pytest的簡單應用
    1、特性:非常容易上手,入門簡單,文檔豐富,文檔中有很多實例可以參考能夠支持簡單的單元測試和複雜的功能測試支持參數化執行測試過程中可以將某些測試跳過,或者對某些預期失敗的case標記成失敗支持重複執行失敗的case支持運行由nose, unittest編寫的測試case具有很多第三方插件,並且可以自定義擴展方便的和持續集成工具集成2、常用拓展
  • Pytest自動化測試-簡易入門教程
    功能特徵完整的文檔,包括安裝,教程和PDF文檔簡單而又詳細的斷言模式(使用純assert語句)自動發現測試模塊和功能(以test為標識)可以運行unittest和nose框架的測試用例靈活的固件,用於管理小型或參數化的長期測試資源豐富的插件架構,擁有三百多個外部插件和豐富的社區編寫規則
  • python單元測試框架pytest簡介
    根據pytest的官方網站介紹,它具有如下特點:非常容易上手,入門簡單,文檔豐富,文檔中有很多實例可以參考能夠支持簡單的單元測試和複雜的功能測試支持參數化執行測試過程中可以將某些測試跳過,或者對某些預期失敗的case標記成失敗支持重複執行失敗的case支持運行由nose, unittest編寫的測試case
  • 使用Pytest創建一個Python測試自動化項目
    它的語法簡潔,易讀且優雅–非常適合初學者和專家。您可以想像的一切都只是一個導入。自然地,Python還是測試自動化的最好的語言。它的簡潔性使測試人員可以將更多的精力放在測試上,而不必在代碼上。未完成大量編程工作的測試人員往往比其他語言(如Java或C#)學習Python的速度更快。Python非常適合啟動測試!什麼是pytest?
  • Pytest配置文件pytest.ini
    pytest.ini的位置:一般放在項目工程的根目錄(即當前項目的頂級文件夾下)cmd下使用 pytest -h 命令查看pytest.ini的設置選項[pytest] ini-options in the first pytest.ini|tox.ini|setup.cfg file found: markers (
  • pytest文檔60-pytest.main()的使用
    在命令行運行帶上 -s 參數> pytest -s那麼在 pytest.main() 裡面等價於import pytest# 帶上-s參數pytest.main(["-s"])在命令行運行帶上多個參數時> pytest -s -x那麼在 pytest.main() 裡面等價於
  • pytest文檔36-斷言失敗後還能繼續執行pytest-assume
    pytest-assume插件可以解決斷言失敗後繼續斷言的問題。github地址https://github.com/astraw38/pytest-assume環境準備先安裝pytest-assume依賴包pip install pytest-assume遇到問題以下是一個簡單案例,輸入的測試數據有3種,我們需要斷言同時滿足三種情況import pytest# 上海-悠悠@pytest.mark.parametrize
  • pytest文檔18-配置文件pytest.ini
    ini配置文件pytest裡面有些文件是非test文件pytest.ini pytest的主配置文件,可以改變pytest的默認行為conftest.py 測試用例的一些fixture配置_init_.py 識別該文件夾為python的package包tox.ini 與pytest.ini類似,用tox工具時候才有用
  • Python自動化測試框架神器--Pytest!
    提供完善的在線文檔,並有著大量的第三方插件和內置幫助,適用於許多小型或大型項目。適合簡單的單元測試到複雜的功能測試。還可以執行 nose, unittest 和 doctest 風格的測試用例。Pytest安裝及基本使用Pytest安裝非常簡單,可以通過 pip 命令直接在線安裝:pip install -U pytestPytest 官方文檔:https://docs.pytest.org/en/latest
  • Pytest的高級用法,你get到了嗎?
    目前大家聽到比較多的單元測試框架,無非就是pytest和unittest。unittest是老框架了,很多人都用來做自動化,無論是UI還是接口。pytest是基於unittest開發的另一款更高級更好用的單元測試框架,無論面試還是工作使用頻率都很高,勢頭略勝unittest。
  • pytest系列10:skip和xfail標記
    ;例如,在非Windows平臺上跳過只支持Windows系統的用例;xfail:因為一個確切的原因,我們知道這個用例會失敗;例如,對某個未實現的功能的測試,或者阻塞於某個已知Bug的測試;pytest默認不顯示skip和xfail用例的詳細信息,我們可以通過-r選項來自定義這種行為;通常,我們使用一個字母作為一種類型的代表,具體的規則如下:(f)ailed, (
  • Python測試框架之unittest和pytest
    最近調研了一下另一種主流測試框架Pytest,Pytest是一個非常成熟的全功能的Python測試框架,本文主要對比了Unittest和Pytest這兩種較為流行的Python測試框架。Unittest支持自動化測試,測試用例的初始化、關閉和測試用例的聚合等功能,它有一個很重要的特性:它是通過類(class)的方式,將測試用例組織在一起。示例:執行結果:
  • 手把手教你pytest測試框架
    的時候,大量參考了影影同學的筆記,從影影同學的筆記裡,我了解了pytest的結構以及常用API,這才使我能夠較為快速地學習,而這套教程,就是我學習pytest的筆記。話說影影同學是我們班的學霸呢,我也經常向她諮詢問題,也和她探討問題,我覺得她比我學得好所以呢,我想說,我們大家在學習的時候,一定要多多互相交流,千萬別閉門造車,而且要樂於分享,這樣才能共同進步!
  • Pytest自動化測試 - 必知必會的一些插件
    安裝:pip install -U pytest-html用例:import pytestdef add(x, y): return x + yclass TestLearning: data =
  • Pytest之Allure測試報告(十五)
    首先需要安裝插件allure-pytest,安裝的命令為:pip3 install allure-pytest如下圖顯示安裝該插件的信息:     下來在地址https://github.com/allure-framework/allure2/releases/tag/2.7.0下載Allure,下載成功後,配置它的環境變量,如mac
  • Pandas、Excel實現 Pytest 數據驅動
    那麼在 pytest 中,又該如何實現呢?Pytest 操作 JSON/YAML 文件實現數據驅動首先按照使用 pytest 進行數據驅動的基本思路創建一個讀取 JSON 文件和 YAML 文件的方法:def test_read_data_from_json_yaml(data_file): return_value
  • Python 測試框架之 Unittest & Pytest
    Pytest中定義測試用例主要有三種方式:安裝Pytest:1、 使用命令:pip install pytest2、 在Pycharm編譯器裡的配置中添加,如下截圖所示Pytest安裝成功後,將之前默認的runner由unittest修改為:pytest,修改步驟如下截圖所示: