pytest可以用來做系統測試 的自動化, 它的特點如下:
直接執行如下命令即可安裝 pytest:
python3 -m pip install pytest
一般還需要產生測試報表,所以要安裝乙個第三方外掛程式pytest-html
,使用如下命令安裝:
python3 -m pip install pytest-html
在pytest 框架中尋找測試項 的具體規則:
從這些檔案中,收集如下測試項:
如果我們希望 顯示測試**中print的內容,因為這些列印語句在除錯**時很有用,可以加上命令列引數 -s,如下
pytest -s
執行 pytest 時, 如果命令列沒有指定目標目錄 或者 檔案, 它會自動搜尋當前目錄下所有符合條件的檔案、類、函式。如果我們希望得到更詳細的執行資訊,包括每個測試類、測試函式的名字,可以加上引數 -v,這個引數可以和 -s 合併為 -sv,如下:
pytest -sv
為了防止 pytest 到其他目錄中找測試用例項,執行測試時,我們可以在命令列加上目標目錄 cases ,就是這樣
pytest cases
要產生報告,在命令列加上 引數--html=report.html --self-contained-html
,如下
pytest cases --html=report.html
初始化和清除模組:這樣就會產生名為 report.html 的測試報告檔案,可以在瀏覽器中開啟。
如下定義 setup_module 和 teardown_module 全域性函式:
def setup_module():
print('\n *** 初始化-模組 ***')
def teardown_module():
print('\n *** 清除-模組 ***')
可以像這樣只挑選乙個模組執行:
pytest cases\登入\test_錯誤登入.py
pytest cases
也可以指定多個目錄
pytest cases1 cases2
指定乙個類
pytest cases\登入\test_錯誤登入.py::test_錯誤密碼
也可以指定類裡面的方法
pytest cases\登入\test_錯誤登入.py::test_錯誤密碼::test_c001001
可以使用 命令列引數 -k 後面加名字來挑選要執行的測試項
比如像這樣後面跟測試函式名字的一部分:
pytest cases
也可以指定多個目錄
pytest cases1 cases2
pytest -k c001001 -s
注意,-k 後面的名字
可以是測試函式的名字,可以是類的名字,可以是模組檔名,可以是目錄的名字
是大小寫敏感的
不一定要完整,只要能有部分匹配上就行
可以用 not 表示選擇名字中不包含,比如
pytest -k "not c001001" -s
可以用 and 表示選擇名字同時包含多個關鍵字,比如
pytest -k "錯 and 密碼2" -s
可以用 or 表示選擇名字 包含指定關鍵字之一即可,比如
pytest -k "錯 or 密碼2" -s
參考官方文件
可以這樣給 某個方法加上標籤 webtest
import pytest
class test_錯誤密碼2:
@pytest.mark.webtest
def test_c001021(self):
print('\n用例c001021')
assert 1 == 1
然後,可以這樣執行指定標籤的用例
pytest cases -m webtest -s
也可以這樣給整個類加上標籤
@pytest.mark.webtest
class test_錯誤密碼2:
def test_c001021(self):
print('\n用例c001021')
assert 1 == 1
可以這樣定義乙個全域性變數 pytestmark 為 整個模組檔案 設定標籤
import pytest
pytestmark = pytest.mark.網頁測試
如果你需要定義多個標籤,可以定義乙個列表
import pytest
pytestmark = [pytest.mark.網頁測試, pytest.mark.登入測試]
python自動化測試框架nose
python除了unittest,還有一款更快捷的nose,nose可以說是對unittest的一種簡化吧 但是他不需要unittest那種必須有固有的格式,他只需要檔案,類名,方法名等含有test就可以 unittest是需要手動來寫discover函式來遍歷用例的 官網位址 舉例說明,比如我有乙...
python自動化測試框架選擇
框架 framework 是整個或部分系統的可重用設計,框架是用來解決 的組織及執行控制問題的。在我們編寫自動化指令碼的時候,經常需要讀取配置檔案,讀取資料檔案,傳送請求,記錄日誌,連線並對比資料庫資料。每個指令碼裡都重寫一遍各種方法不僅工作量大而且易錯。所以我們需要把公共的方法提取出來,封裝成單獨...
python 自動化測試框架概述
怎麼樣的框架?資料驅動 資料與 分離 如何做到資料和 的分離?基礎資料 環境資料 資料庫資訊 配置資訊 都放在配置檔案裡 場景資料 測試用例都放在excel管理 乙個介面對應乙個.py檔案 測試用例包括了幾列?解釋 每一行對應一條測試用例 title 用例的描述,說明測試點 後面的幾列是api介面測...