原创 【pytest】安裝、編寫用例、運行用例

安裝pytest: 命令行:pip install pytest Pycharm:File | Settings | Project: xxx| Project Interpreter,點擊 + 號,搜索 pyteset,點擊左下角 in

原创 【pytest】Hook 方法之 pytest_runtest_protocol:獲取將要執行的用例(item)及下一個測試用例(nextitem)

Hook 方法之 pytest_runtest_protocol: pytest_runtest_protocol : 官方給的解釋是:爲給定的測試項目執行runtest_setup / call / teardown協議; @ho

原创 【pytest】pdb 調試

pdb 調試: pdb 是 Python 標準庫的調試模塊。在 pytest 中,可以直接使用 --pdb 參數在測試失敗時開啓調試;  直接使用 --pdb 參數: import pytest class TestDemoA:

原创 【pytest】如何生成 html 和 allure 測試報告

生成 html 測試報告: 安裝插件:pip install pytest-html; 使用參數:pytest -m xxx --html=report_path.html; 生成 allure 測試報告: 安裝插件:pip instal

原创 【pytest】編寫、共享及使用 fixture(測試夾具)

什麼是 fixture? fixture 是 pytest 的精髓,它是測試腳手架,有兩個部分組成: 用例前置:用例前置的作用就是準備測試用例的前置條件和測試數據,相當於 unittest 中的 setup() 的功能; 用例後置:用例後

原创 【pytest】內置 fixtures 之 tmpdir:創建臨時文件

內置 fixtures 之 tmpdir: tmpdir 的作用是:在本地生成臨時文件夾,並返回文件對象; 代碼演示: 先寫個測試用例,調用 tmpdir,執行一下看看: class TestDemoA: def t

原创 【pytest】內置 fixtures 之 cache:使用 cache 寫入、讀取 pytest 緩存

內置 fixtures 之 cache: cache 是一個可以在測試會話之間保持狀態的緩存對象;  源碼展示: @pytest.fixture def cache(request): """ Return a ca

原创 【Python進階】Python 裝飾器

Python 裝飾器: 一、被裝飾的函數無參數: import time def timer(function): # 裝飾器接收被裝飾的函數 def wrapper(): start_ti = time.

原创 【pytest】pytest-cov :統計代碼測試覆蓋率

pytest-cov : coverage.py 是 Python 推薦使用的覆蓋率統計工具,pytest-cov 是 pytest 的插件,它可以讓你在 pytest 中使用 cpverage.py; 使用 pytest-cov: 

原创 【pytest】Hook 方法之 pytest_runtest_makereport:獲取測試用例執行結果

Hook 方法之 pytest_runtest_makereport: @hookspec(firstresult=True) def pytest_runtest_makereport(item, call): """ ret

原创 《基於Python的全棧自動化測試》之 數據驅動ddt

數據驅動ddt: 前面我們講了,在測試用例中採用 超繼承unittest.TectCase的 __init__() 方法來接收和初始化參數,在執行模塊傳入參數: 超繼承unittest.TectCase的 __init__() 方法:↓↓

原创 《基於Python的全棧自動化測試》之 從Excel讀取數據後保存數據、生成並執行測試用例、處理異常、寫入測試結果

保存數據的方法:     從Excel中讀取測試數據後,還應該保存讀取到的數據,以便後續使用: 一:先創建一個Excel文件,然後輸入測試數據: 二:基礎面向對象的原則,我們先寫個通用的從Excel讀取測試數據的類和方法:     1.

原创 《基於Python的全棧自動化測試》之 提高測試用例複用率

    拿我們之前的代碼舉個例子,在 TestMath 測試類中我們寫了4個測試用例,對應了 Math 類的4個方法。但是做測試的都知道,對於每個功能我們不可能只用一條用例去覆蓋,我們要充分考慮各種情況從各種角度甚至刁鑽的角度來驗證我們的

原创 《基於Python的全棧自動化測試》之 操作Excel

想要操作Excel,首先要導入 openpyxl 模塊: openpyxl內包含新建,打開,讀寫、保存,等操作的方法,但是它只支持 xlsx 類型的文件: openpyxl.Workbook 是openpyxl的類文件,它用來新建;

原创 《基於Python的全棧自動化測試》之unittest.TestCase(二)--- 斷言assert

 斷言:     接着上篇,用例裏需要用到斷言,來驗證實際結果是否符合預期結果,前面有講過,unittest.TestCase 有封裝好的斷言方法,我們的測試類繼承了 TestCase 這個父類,所以我們可以直接在測試用例裏調用斷言 as