當前位置:首頁 » 網頁前端 » pytest參數化執行測試腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

pytest參數化執行測試腳本

發布時間: 2022-04-22 03:59:48

Ⅰ pytest 怎麼生成執行所有用例的腳本

#setUP 還有 tearDown就是用來做工作的不是么
class myTest(unittest.TestCase):
def setUp(self):
demo1()
def tearDown(self):
demo2()

Ⅱ qtp參數化以後運行腳本時怎樣自動打開程序

一種自動測試工具 Mercury QuickTest 企業級自動化測試工具! QuickTest 9.0 Pro最新正式版發行,QTP 9.0是一個B/S系統的自動化功能測試的利器,軟體程序測試工具。Mercury的自動化功能測試軟體QuickTest Professional 9.0,可以覆蓋絕大多數的軟體開發技術,簡單高效,並具備測試用例可重用的特點。 QTP進行功能測試的測試流程 [制定測試計劃]——>[創建測試腳本]——>[增強測試腳本功能]——>[運行測試]——>[分析測試結果] 大致五個步驟: 1、制定測試計劃 自動測試的測試計劃是根據被測項目的具體需求,以及所使用的測試工具而制定的,完全用於指導測試全工程。 QTP是一個功能測試工具,主要幫助測試人員完成軟體的功能測試,,與其他測試工具一樣,QTP不能完全取代測試人員的手工操作,但是在某個功能點上,使用QTP的確能夠幫助測試人員做很多工作。在測試計劃階段,首先要做的就是分析被測應用的特點,決定應該對哪些功能點進行測試,可以考慮細化到具體頁面或者具體控制項。對於一個普通的應用程序來說,QTP應用在某些界面變化不大的回歸測試中是非常有效的。 2、創建測試腳本 當測試人員瀏覽站點或在應用程序上操作的時候,QTP的自動錄制機制能夠將測試人員的每一個操作步驟及被操作的對象記錄下來,自動生成測試腳本語句。與其他自動測試工具錄制腳本有所不同的是,QTP除了以VBScript腳本語言的方式生成腳本語句以外,還將被操作的對象及相應的動作按照層次和順序保存在一個基於表格的關鍵字視圖中。比如,當測試人員單擊一個鏈接,然後選擇一個CheckBox或者提交一個表單,這樣的操作流程都會被記錄在關鍵字視圖中。 3、增強測試腳本的功能 錄制腳本只是實現創建或者設計腳本的第一步,基本的腳本錄制完畢後,測試人員可以根據需要增加一些擴展功能,QTP允許測試人員通過在腳本中增加或更改測試步驟來修正或自定義測試流程,如增加多種類型的檢查點功能,既可以讓QTP檢查一下在程序的某個特定位置或對話框中是否出現了需要的文字,還可以檢查一個鏈接是否返回了正確的URL地址等,還可以通過參數化功能,使用多組不同的數據驅動整個測試過程。 4、運行測試 QTP從腳本的第一行開始執行語句,運行過程中會對設置的檢查點進行驗證,用實際數據代替參數值,並給出相應的輸出結構信息。測試過程中測試人員還可以調試自己的腳本,直到腳本完全符合要求。 5、分析測試 運行結束後系統會自動生成一份詳細完整的測試結果報告。 Mercury QuickTest Professional工作原理 Mercury QuickTest Professional 甚至可以使新測試人員在幾分鍾內提高效率。您只需通過按「記錄」按鈕,並使用執行典型業務流程的應用程序即可創建測試腳本。系統使用簡明的英文語句和屏幕抓圖來自動記錄業務流程中的每個步驟。用戶可以在關鍵字視圖中輕松修改、刪除或重新安排測試步驟。 QuickTest Professional 可以自動引入檢查點,以驗證應用程序的屬性和功能,例如驗證輸出或檢查鏈接有效性。對於關鍵字視圖中的每個步驟,活動屏幕均准確顯示測試中應用程序處理此步驟的方式。您也可以為任何對象添加幾種類型的檢查點,以便驗證組件是否按預期運行(只需在活動屏幕中單擊此對象即可)。 然後,您可以在產品介紹(具有 Excel 所有功能的集成電子表格)中輸入測試數據,以便在不需要編程的情況下處理數據集和創建多個測試迭代,從而擴大測試案例范圍。您可以鍵入數據,或從資料庫、電子表格或文本文件導入數據。 高級測試人員可以在專家視圖中查看和編輯自己的測試腳本,該視圖顯示 QuickTest Professional 自動生成的基於業界標準的內在 VB 腳本。專家視圖中進行的任何變動自動與關鍵字視圖同步。 一旦測試人員運行了腳本,TestFusion 報告顯示測試運行的所有方面:高級結果概述,准確指出應用程序故障位置的可擴展樹視圖,使用的測試數據,突出顯示任何差異的應用程序屏幕抓圖,以及每個通過和未通過檢查點的詳細說明。通過使用 Mercury TestDirector 合並 TestFusion 報告,您可以在整個 QA 和開發團隊中共享報告。 QuickTest Professional 也加快了更新流程。當測試中應用程序出現變動(例如「登錄」按鈕重命名為「登入」)時,您可以對共享對象庫進行一次更新,然後此更新將傳播到所有引用該對象的腳本。您可以將測試腳本發布到 Mercury TestDirector,使其他 QA 團隊成員可以重復使用您的測試腳本,從而消除了重復工作。

Ⅲ 軟體測試需要學習些什麼技能

軟體測試需要學習測試用例、測試用例的方法、缺陷管理工具、掌握資料庫、App測試、python語言、Linux系統、前端語言等技能。

1、測試用例

這是每一個工程師必備技能,也是標志你進入測試行業最低的門檻,關於測試用例可以參考我以前寫的文章。

7、python語言

python語言是現在最流行的語言,這是測試人員技能升級最好的方式之一,測試人員可以利用他做非常多的事情。

8、Linux系統

Linux系統,測試人員利用它最多的是看日誌,更好地為開發定位bug,這也是提升技能之一。

9、前端語言

前端語言,可以讓自己更好的判斷bug是前端還是後端造成的,多學一點技能對於測試人員非常好的。

Ⅳ 軟體測試都具體學什麼

第一階段(軟體測試理論及基礎)
Windows操作系統及網路基礎:軟體測試概念、計算機層次、軟體分類、 互聯網概述、 IP地址、虛擬機使用、操作系統安裝
軟體測試基礎理論:軟體開發階段劃分,軟體測試階段劃分,模型和分類、軟體測試主要原則、測試用例概念、 測試方法選擇、 TestDirector概述、軟體測試計劃編寫
功能測試項目實踐:熟悉軟體需求、編寫測試計劃、編寫測試用例、 執行測試用例、提交bug、 編寫測試總結報告
第二階段(編程開發技術)
Java程序設計:Java開發環境變數的配置, Java程序的基本結構變數、常量、基本數據類型、流程式控制制,Java面向對象編程的基本概念,Java I/O核心技術, Java網路編程技術,Java的事件處理模型、Swing組件模型, HTML技術、Servlet/JSP技術
資料庫基礎:資料庫系統的基本概念,基本SQL語句, 數據完整性約束,索引的創建和使用,視圖的創建和使用,高級查詢,存儲過程的定義和使用, Oracle及SQL Server2008基本操作, SQL Plus的基本使用,PLSQL Developer的使用, 序列,索引,視圖,函數和存儲過程
第三階段(測試工具)
功能測試工具QTP:QTP的基本使用流程, 使用QTP錄制應用程序及Web程序,QTP的測試對象管理機制、對象倉庫的使用, 標准檢查點、文本檢查點、文本域檢查點、圖像檢查點、資料庫檢查點、其他檢查點, 腳本參數化, 使用模擬錄制模式、使用低級錄制模式、使用QTP進行回歸測試, VBScript基本語法結構
性能測試工具LoadRunner:自動化工具分類,性能測試簡介,Loadrunner概述;負載/壓力測試計劃的編寫;開發腳本VuGenerator; 設計和運行場景---Controller;分析結果Analysis,LoadRunner數據池技術剖析; HTTP的報文結構,Correlation 技術,Web_reg_save_param函數, LoadRunner中文件下載,網頁細分圖,LR瀏覽器模擬設置,LR監視的性能計數器,LR中資源分析實;
測試管理工具Quality Center:Quality Center概述,Quality Center產品框架; Quality Center的站點管理; Quality Center的項目管理; Quality Center測試管理中的
白盒測試技術與白盒測試工具:白盒測試的方法;圈復雜度的計算; 面向對象的測試; 使用Junit進行單元測試
第四階段(測試實踐)
Unix操作系統及網路環境:Unix的歷史,安裝;Unix文件系統結構,FTP工具,目錄共享; Unix常用命令; Unix Web伺服器安裝與配置,MySQL資料庫的安裝使用,郵件伺服器
的安裝與使用; Unix Perl模塊的安裝,Shell編程,SecureCRT和SSH;Unix SVN的配置和使用
自動化工具項目實踐:使用QTP對Web項目進行功能測試;使用LoadRunner進行性能測試; 使用QC進行測試管理

Ⅳ 為什麼pytest框架執行的程序獲取的路徑是pycharm的路徑

可以直接通過pycharm來修改import的路徑,具體pycharm版本不一樣,對應按鈕位置不一樣,因此僅以文字說明。
file->Settings(Ctrl+Shift+s)->Project Setting->Project Interpreter->選擇本機的python版本->Interpreter Path->添加。
如果在tests下有文件夾test2,其下有文件c.py。要引用c文件的c2
在你的main.py裡面加入:
from test2.c import c2
路徑是以添加的路徑的相對路徑。

Ⅵ pytest框架如何參數化

語法:
1). @pytest.mark.parametrize("參數名",["01_值1","02_值2"])
2). @pytest.mark.parametrize("參1,參2",[("01_參1的值","01_參2的值"),("02_參1的值","02_參2的值")])
注意:
1. 參數名:
1). 多個參數名時,參數與參數之間使用逗號分隔,但是注意所有的參數必須為一個字元串!
2. 參數值:
1). 單個參數名的值,格式必須為列表,如:["admin"," admin ","admin123"]
2). 多個參數值:格式為列表,列表內嵌套元祖,如:[("第一輪參1值","第一輪參2值"),("第二輪參1值","第二輪參2值")]
3. 調用的參數名必須和設置的參數化引用名稱一樣。
4. parametrize無法通過助寫完成,需要手動編寫或粘貼。

Ⅶ 如何使用python編寫測試腳本

1)doctest
使用doctest是一種類似於命令行嘗試的方式,用法很簡單,如下

復制代碼代碼如下:

def f(n):
"""
>>> f(1)
1
>>> f(2)
2
"""
print(n)

if __name__ == '__main__':
import doctest
doctest.testmod()

應該來說是足夠簡單了,另外還有一種方式doctest.testfile(filename),就是把命令行的方式放在文件里進行測試。

2)unittest
unittest歷史悠久,最早可以追溯到上世紀七八十年代了,C++,Java里也都有類似的實現,Python里的實現很簡單。
unittest在python里主要的實現方式是TestCase,TestSuite。用法還是例子起步。

復制代碼代碼如下:

from widget import Widget
import unittest
# 執行測試的類
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget()
def tearDown(self):
self.widget.dispose()
self.widget = None
def testSize(self):
self.assertEqual(self.widget.getSize(), (40, 40))
def testResize(self):
self.widget.resize(100, 100)
self.assertEqual(self.widget.getSize(), (100, 100))
# 測試
if __name__ == "__main__":
# 構造測試集
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase("testSize"))
suite.addTest(WidgetTestCase("testResize"))

# 執行測試
runner = unittest.TextTestRunner()
runner.run(suite)

簡單的說,1>構造TestCase(測試用例),其中的setup和teardown負責預處理和善後工作。2>構造測試集,添加用例3>執行測試需要說明的是測試方法,在Python中有N多測試函數,主要的有:
TestCase.assert_(expr[, msg])
TestCase.failUnless(expr[, msg])
TestCase.assertTrue(expr[, msg])
TestCase.assertEqual(first, second[, msg])
TestCase.failUnlessEqual(first, second[, msg])
TestCase.assertNotEqual(first, second[, msg])
TestCase.failIfEqual(first, second[, msg])
TestCase.assertAlmostEqual(first, second[, places[, msg]])
TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])
TestCase.assertNotAlmostEqual(first, second[, places[, msg]])
TestCase.failIfAlmostEqual(first, second[, places[, msg]])
TestCase.assertRaises(exception, callable, ...)
TestCase.failUnlessRaises(exception, callable, ...)
TestCase.failIf(expr[, msg])
TestCase.assertFalse(expr[, msg])
TestCase.fail([msg])

Ⅷ 軟體測試該如何學習

一、學習路線圖(點擊圖片即可放大,可清晰觀看)

二、軟體測試視頻第一階段-前置基礎知識

1、學習目標:

可掌握的核心能力:

1. 熟悉計算機相關概念;
2. 掌握基礎的測試理論;
3. 熟練掌握HTML常用標簽和語法規范;
4. 掌握使用CSS定義網頁樣式;
5. 掌握js的基本用法;

2、知識點:

1)計算機基礎
計算機組成部分、操作系統分類、B/S和C/S架構、常用DOS命令、伺服器域名
2)測試理論
軟體測試的目的、軟體測試定義、軟體測試原則、產品質量模型、測試基本流程
3)HTML基礎
HTML基礎語法、標簽屬性、圖片標簽、超鏈接、錨點、表單
4)CSS基礎
CSS基礎語法、CSS四類選擇器、常用文字屬性、行高屬性、邊框、盒子模型、內外邊距
5)JS基礎
JS基礎語法、JS引入方式

三、軟體測試視頻篇第二階段-linux和資料庫

1、學習目標:

可掌握的核心能力:
1. 掌握Linux操作系統按照和配置;
2. 熟練掌握Linux常用命令;
3. 掌握資料庫增刪改查操作;
4. 熟悉資料庫索引、視圖、事務、常見函數等高級功能;
5. 掌握Redis的string類型、hash類型、set類型、list類型等基本類型和操作;

2、知識點:

1)LINUX(熟悉)
操作系統介紹、操作系統發展歷史、CentOS圖形界面、文件和目錄、常用LINUX命令使用、vim文本編輯器的使用
2)資料庫介紹(熟悉)
資料庫基本概念、關系型資料庫介紹、MySQL安裝與使用、Navicat使用
3)SQL語言(重點)
數據表操作、數據操作-增刪改查、條件查詢、排序、聚合函數、分組、分頁、連接查詢、自關聯、子查詢、子查詢演練
4)資料庫高級功能(了解)
資料庫設計、命令行操作資料庫、函數、存儲過程、視圖、事務、索引、外鍵、用戶密碼
5)redis資料庫功能(掌握)
掌握Redis的string類型、hash類型、set類型、list類型等基本類型和操作;

四、軟體測試視頻篇第三階段-測試基礎

1、學習目標:

可掌握的核心能力:

1. 掌握測試的基本概念和測試常見分類;
2. 熟練掌握黑盒測試用例設計方法,進行功能測試用例設計;
3. 熟練掌握缺陷報告的編寫;
4. 熟悉測試管理工具禪道和JIRA的使用
5. 掌握項目測試流程;
6. 掌握Web項目功能測試分析和用例編寫;
7. 熟悉測試計劃,測試方案,測試報告的核心內容
8. 掌握功能測試與資料庫的關系
9. 掌握Fiddler工具的使用

2、知識點:

1)軟體測試理論
軟體測試的分類,軟體開發模型和測試模型,軟體的質量模型,測試用例的定義和要素
2)測試用例設計
等價類方法、邊界值方法、因果圖、判定表、狀態遷移法、正交、場景
3)缺陷管理
缺陷定義、缺陷的判定標准、缺陷報告、缺陷跟蹤流程
4)Web項目實戰
搭建項目的測試環境,如何快速熟悉項目,項目的測試流程,測試計劃和方案,功能測試分析,狀態遷移法的使用,流程測試分析,非功能測試分析,測試報告編寫,Fiddler抓包
5)App項目實戰
6)測試管理工具
禪道的使用,JIRA的使用

五、軟體測試視頻篇第四階段-編程+數據結構

1、學習目標:

可掌握的核心能力:
1. 掌握Python基礎語法, 具備基礎的編程能力;
2. 建立編程思維以及面向對象程序設計思想。

2、知識點:

1)Python開發環境
Python開發環境的搭建、Pycharm使用
2)Python基礎
變數以及變數的類型、標識符和關鍵字、變數名命名方式、算數運算符、變數數據類型轉換、輸入和輸出、注釋、if語句基本格式、if…else…語句、if…elif..else語句、邏輯運算符、比較關系運算符、運算符優先順序、while循環語法格式、while嵌套應用、break的用法、continue的用法、列表概念及操作、元組概念及操作、字典概念及操作、字元串概念及操作、集合概念及操作、for循環及for…else用法、函數的基本語法、函數執行流程、文檔注釋、帶參數的函數、帶返回值的函數、函數的嵌套調用、匿名函數、遞歸函數、局部變數和全局變數、引用、文件的概念、文件的打開與關閉、文件讀寫, 以及文件定位讀寫、文件、目錄相關操作
3)面向對象
面向對象介紹、類和對象的概念、魔術方法的意義及作用、對象成員的訪問控制許可權、繼承的概念及意義、繼承、多層繼承和多繼承、多態的概念以及應用、類屬性和實例屬性、實例方法、類方法、靜態方法、設計模式: 單例模式
4)異常處理
理解異常的作用、捕獲異常、異常的傳遞規則、自定義異常
5)模塊和包
模塊和包的概念、__all__的用法、import語句用法、from...import...用法、from...import * 用法

六、軟體測試視頻篇第五階段——WEB自動化

1、學習目標:

可掌握的核心能力:
1.能夠熟練搭建Web自動化測試環境;
2.熟練掌握元素的定位方法和元素操作;
3.掌握滑鼠鍵盤操作及HTML特殊元素的處理;
4.掌握使用UnitTest管理自動化測試的腳本;
5.熟練掌握PO模式的設計思想,並能夠對頁面進行封裝;
6.掌握數據驅動的實現方式;
7.掌握日誌的相關概念,以及日誌的收集處理;
8.掌握在實際的項目中如何靈活運用自動化的相關技術。

2、知識點:

1)WEB自動化入門
自動化測試的理論知識、主流的Web自動化測試框架介紹、Selenium的發展歷史及工作原理、元素查看工具使用、環境搭建
2)WEB自動化基礎
元素基礎定位方法、Xpath和CSS元素定位方法、元素常見操作、瀏覽器操作方法、滑鼠鍵盤操作、顯示等待和隱式等待、HTML特殊元素處理、窗口截圖、驗證碼處理
3)WEB自動化中級
UnitTest框架、Fixture、UnitTest斷言、參數化、測試報告
4)WEB自動化高級
PO模式、數據驅動、日誌處理
5)項目實戰
自動化測試流程、項目自動化框架設計、自動化代碼實現

七、軟體測試視頻篇第六階段——移動自動化

1、學習目標:

可掌握的核心能力:
1.掌握移動端APP測試特性;
2.能夠熟練搭建移動自動化測試環境;
3.熟悉appium的工作原理;
4.熟練掌握ADB工具的使用;
5.熟練掌握元素的定位方法、元素操作和手勢操作;
6.掌握單元測試框架pytest的使用;
7.掌握YAML數據讀寫;
8.掌握使用allure生成測試報告;
9.熟練掌握PO模式的設計思想;
10.掌握數據驅動的實現方式;
11.掌握Git的使用方式;
12.掌握Jenkins持續集成的環境配置;
13.掌握在實際的項目中如何靈活運用移動自動化的相關技術。

2、知識點:

1)移動自動化特性
APP應用系統架構、測試環境及發布平台、APP敏捷開發模式、APP應用測試要點、業務功能測試、兼容性測試、安裝卸載升級測試、交叉事件測試、Push消息測試、性能測試、用戶體驗測試、穩定性測試
2)移動自動化基礎
移動端測試分類及特點、ADB命令及Monkey使用、appium環境搭建、appium工作原理
3)移動自動化中級
APP和手機系統操作、元素定位、元素操作、高級手勢操作、混合APP測試、PyTest測試框架、定製測試報告、YAML數據讀寫
4)移動自動化高級
PO模式、數據驅動、Git、Jenkins持續集成
5)項目實戰
APP項目實戰

八、軟體測試視頻篇第七階段——介面測試

1、學習目標:

可掌握的核心能力:
1.掌握介面及介面測試相關概念;
2.掌握使用Postman進行介面測試;
3.熟練掌握資料庫的基本操作和事務操作;
4.掌握requests庫使用及腳本封裝;
5.掌握介面測試框架的設計和封裝;
6.掌握使用持續集成工具管理介面測試腳本;
7.掌握在實際的項目中如何靈活運用介面測試的相關技術。

2、知識點:

1)介面測試基礎
介面及介面測試概念、HTTP協議、介面規范、項目環境說明、介面測試流程
2)Postman實現介面測試
Postman介紹和安裝、Postman基本用法、Postman高級用法、Postman測試報告、項目實戰
3)資料庫操作
資料庫介紹、資料庫基本操作、資料庫事務操作
4)代碼實現介面測試
Requests庫、集成UnitTest、介面測試框架開發、項目實戰
5)持續集成
持續集成介紹、Git、Jenkins、持續集成之Postman、持續集成之代碼
6)介面測試擴展
Mock測試、介面測試總結

九、軟體測試視頻篇第八階段——性能測試

1、學習目標:

可掌握的核心能力:
1.能夠熟練搭建性能測試環境;
2.掌握性能測試基礎理論;
3.掌握Jmeter常用組件使用;
4.掌握Jmeter編寫和錄制性能測試腳本;
5.掌握基於jmeter實現單一和混合場景搭建;
6.掌握思考時間、事務、邏輯控制器在性能測試場景的應用;
7.掌握Jmeter常用性能插件進行圖表分析;
8.掌握Linux服務型性能監控方法和指標;
9.掌握資料庫監控和調優的常見方法。

2、知識點:

1)性能測試基礎
性能測試理論、性能測試分類、性能測試常用指標、性能測試流程
2)性能測試工具
常用性能測試工具、Jmeter環境搭建、Jmeter功能概要、元件作用及執行順序、線程組、參數化、斷言、關聯、連接資料庫、邏輯控制器、定時器、分布式、測試報告
3)項目-介面性能測試
項目API文檔分析、介面清單梳理、介面腳本設計、並發數據計算、邏輯控制器項目應用、單一場景搭建、常用響應圖表插件及應用
4)項目-web性能測試
腳本錄制、正則過濾、cookie管理器、事務控制器、思考時間、混合場景搭建、web性能腳本執行與分析
5)性能測試調優
windows伺服器性能監控、linux伺服器性能監控、性能測試報告

十、軟體測試視頻篇第九階段——綜合項目實戰

1、學習目標:

可掌握的核心能力:
1.掌握功能測試在真實的項目中如何實施;
2.掌握基於Selenium的Web自動化測試框架搭建和使用;
3.掌握基於Appium的APP自動化測試框架搭建和使用;
4.掌握使用工具實現介面測試;
5.掌握基於Python+Requests庫的介面自動化測試框架的搭建和使用;
6.掌握Locust性能測試框架的使用;
7.掌握如何對APP進行性能測試;
8.掌握在實際的項目中如何靈活運用相關測試技術。

2、知識點:

1)項目介紹
項目簡介、項目架構
2)功能測試
功能測試設計思路、自媒體端測試、後台管理端測試、用戶APP端測試
3)UI自動化測試
Selenium Grid、搭建自動化測試框架、編寫自動化測試腳本
4)介面測試
介面測試流程、基於工具的介面測試、基於代碼的介面測試
5)性能測試
Locust框架、APP性能測試

Ⅸ Python自動化測試框架有哪些

分享一些可用的Python自動化測試框架。
自動化測試常用的Python框架有哪些?常用的框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。Pytest、Robot Framework和UnitTest主要用於功能與單元測試,Lettuce和Behave僅適用於行為驅動測試。
一、Robot Framework
Python測試框架之一,Robot Framework被用在測試驅動(test-driven)類型的開發與驗收中。雖然是由Python開發而來,但是它也可以在基於.Net的IronPython和基於Java的Jython上運行。作為一個Python框架,Robot還能夠兼容諸如Windows、MacOS、以及Linux等平台。
在使用Robot Framework(RF)之前,需要先安裝Python 2.7.14及以上的版本。推薦使用Python 3.6.4,以確保適當的注釋能夠被添加到代碼段中,並能夠跟蹤程序的更改。同時還需要安裝Python包管理器--pip。
二、Pytest
適用於多種軟體測試的Pytest,是另一個Python類型的自動化測試框架。憑借著其開源和易學的特點,該工具經常被QA(質量分析)團隊、開發團隊、個人團隊、以及各種開源項目所使用。鑒於Pytest具有「斷言重寫(assert rewriting)」之類的實用功能,許多大型互聯網應用,如Dropbox和Mozilla,都已經從下面將要提到的unittest(Pyunit)切換到了Pytest之上。
除了基本的Python知識,用戶並不需要更多的技術儲備。另外,用戶只需要有一台帶有命令行界面的測試設備,並且安裝好了Python包管理器、以及可用於開發的IDE工具。
三、UnitTest/PyUnit
UnitTest/PyUnit一種標准化的針對單元測試的Python類自動化測試框架。基類TestCase提供了各種斷言方法、以及所有清理和設置的常式。因此,TestCase子類中的每一種方法都是以「test」作為名詞前綴,以標識它們能夠被作為測試用例所運行。用戶可以使用load方法和TestSuite類來分組、並載入各種測試。
可以通過聯合使用,來構建自定義的測試運行器。正如我們使用Junit去測試Selenium那樣,UnitTest也會用到UnitTest-sml-reporting、並能生成各種XML類型的報告。由於UnitTest默認使用了Python,因此我們並不需要什麼先決條件。除了需要具備Python框架的基本知識,您也可以額外地安裝pip、以及用於開發的IDE工具。
四、Behave
行為驅動開發是一種基於敏捷軟體開發的方法。它能夠鼓勵開發人員、業務參與者和QA人員,三者之間的協作。Python測試框架Behave允許團隊避開各種復雜的情況,去執行BDD測試。從本質上說該框架與SpecFlow和Cucumber相似,常被用於執行自動化測試。用戶可以通過簡單易讀的語言來編寫測試用例,並能夠在其執行期間粘貼到代碼之中。而且,那些被設定的行為規范與步驟,也可以被重用到其他的測試方案中。
任何具備Python基礎知識的人都可以使用Behave。其他先決條件還包括:先安裝Python 2.7.14及以上的版本。通過Python包管理器或pip來與Behave協作。大多數開發人員會選擇Pycharm作為開發環境,當然您也可以選用其他的IDE工具。
五、Lettuce
Lettuce是另一種基於Cucumber和Python的行為驅動類自動化工具。Lettuce主要專注於那些具有行為驅動開發特徵的普通任務。它不但簡單易用,而且能夠使得整個測試過程更流暢、甚至更有趣。安裝帶有IDE的Python 2.7.14、及以上的版本。當然,您也可以使用Pycharm或任何其他IDE工具。同時,您還需要安裝Python包管理器。
自動化測試的Python框架,Pytest、Robot Framework和UnitTest可主要用於功能與單元測試,而Lettuce和Behave僅適用於行為驅動測試。對於功能測試而言,Pytest是的。如果您是基於Python自動化測試的新手,Robot Framework是的入門工具。雖然其功能有所受限,但是它非常容易上手。對於基於Python的BDD測試而言,Lettuce和Behave同樣優秀。不過,如果你已經有了一定的Pytest經驗,那麼請使用Pytest-bdd。

Ⅹ python寫的測試框架怎麼使用

安裝

>pipinstall-Upytest#通過pip安裝

>py.test--version#查看pytest版本

Thisispytestversion2.7.2,importedfromC:Python27libsite-packagespytest.pyc

簡單的測試

讓我們創建第一個文件,對個簡單的功能進行測試。

好吧!其實, 我也不理解這段代碼的含義,但是執行它的可運行測試用例了。

pytest/

├──test_case/

│├── test_sample.py

│├──test_class.py

│├── __init__.py

│ └──test_case2/

│ ├── test_main.py

│ ├── test_time.py

│ └──__init__.py

└──runtests.py

執行runtest.py文件。

>python runtest.py

當然,你也可以打開runtests.py 文件運行它。

===================================================================

*最後,pytest是如果識別測試用例的呢?它默認使用檢查以test_ *.py 或*_test.py命名的文件名,在文件內部查找以test_打頭的方法或函數,並執行它們。

pytest還有許多需要討論的地方,做為這個系列的第一節,先介紹到這里。