多測(cè)師_Python Selenium UI自動(dòng)化之Unittest單元測(cè)試框架介紹

一、unittest框架介紹:

unittest框架是python中的一個(gè)單元測(cè)試框架,該模塊包括許多的類如 TestCase 類、TestSuite 類、TextTestRunner 類、TestResult 類、TestLoader 類

TestCase類(測(cè)試用例):?所有測(cè)試用例的基類,它是軟件測(cè)試中最基本的組成單元;一個(gè)測(cè)試用例包含一個(gè)完成的流程,包括 setUp() 表示初始化用例,tearDown() 表示還原測(cè)試場(chǎng)景

TestSuite類(測(cè)試套件):多個(gè)測(cè)試用例 testcase 集合就是 TestSuite,在自動(dòng)化中往往一個(gè)場(chǎng)景需要編寫(xiě)一個(gè)或者多個(gè)測(cè)試用例,那么就需要把這些多個(gè)用例一起執(zhí)行,這時(shí)候需要把用例收集起來(lái),就可以通過(guò) TestSuite 來(lái)處理,可以把 TestSuite 當(dāng)成一個(gè)用例容器,而在 TestSuite 中就有 addTest() 和?addTests() 方法可以將用例添加到這個(gè)容器里面形成一個(gè)套件

TestLoader類:該類幫我們搜索所有 test 開(kāi)頭的測(cè)試用例并將搜索到的方法用 TestSuite?收集起來(lái)所以使用 unittest 框架編寫(xiě)測(cè)試用例的時(shí)候用例命名必須用 test 打

TestTextRunner類:是用來(lái)執(zhí)行測(cè)試用例的,其中的 run(test) 用來(lái)執(zhí)行,run(test) 方法不僅可以用來(lái)執(zhí)行 TestCase 還可以用來(lái)執(zhí)行 TestSuite

TestResult類:用來(lái)處理測(cè)試用例或測(cè)試集執(zhí)行過(guò)程中的所有信息并最終輸出,比如代碼錯(cuò)誤、異常、斷言失敗等等

二、unittest框架原理:

一個(gè)py文件里面有多個(gè)測(cè)試用例(testcase),通過(guò) TestLoader 方法或者?addTest() 方法加入到 TestSuite 套件容器中。然后通過(guò) TestTextRunner 方法來(lái)執(zhí)行測(cè)試用例,執(zhí)行后然后,生成的測(cè)試結(jié)果自動(dòng)保存在 TestResult 中

三、框架的作用

隨著用例的增加,我們就要考慮用例的編寫(xiě)的規(guī)范和組織,以便后續(xù)的維護(hù),同時(shí)對(duì)后續(xù)用例執(zhí)行完成生成報(bào)告的,這時(shí)我們就需要用到 unittest 框架進(jìn)行用例管理

四、框架編寫(xiě)用例的結(jié)構(gòu):后續(xù)使用框架來(lái)執(zhí)行用例,那么在用例命名時(shí)都要以test打頭如:test_case,結(jié)尾也一樣

框架中用例執(zhí)行順序:

setUpClass()? -->? setUp()? -->? testcases? -->? tearDown()? -->? tearDownClass()

setUpClass() 和?tearDownClass():類方法在整個(gè)執(zhí)行過(guò)程中只會(huì)在開(kāi)始和結(jié)束執(zhí)行一次

setUp() 和?tearDown():實(shí)例方法會(huì)在每條用例開(kāi)始和結(jié)束執(zhí)行依次

unittest 中的主函數(shù) main() 執(zhí)行用例時(shí)順序以 ascii 表的順序來(lái)執(zhí)行的: 0-9,A-Z,a-z

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容