国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解)

這篇具有很好參考價值的文章主要介紹了python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

簡介 

  我們在寫用例的時候,單個腳本的用例好執(zhí)行,那么多個腳本的時候,如何批量執(zhí)行呢?這時候就需要用到 unittest 里面的 discover 方法來加載用例了。加載用例后,用 unittest 里面的 TextTestRunner 這里類的 run 方法去一次執(zhí)行多個腳

本的用例。那么前邊介紹那么多都是半道開始,半道出家,這篇就帶大家從頭到尾,一步一步給小伙伴們詳細介紹一下。

新建測試項目

1、pycharm 左上角 File>New Projetc>Pure Python,在 location 位置命名一個測試工程的名稱:honggetest

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

?如果你想學(xué)習(xí)接口自動化測試,我這邊給你推薦一套視頻,這個視頻可以說是B站播放全網(wǎng)第一的接口自動化測試教程,同時在線人數(shù)到達1000人,并且還有筆記可以領(lǐng)取及各路大神技術(shù)交流:798478386???

【已更新】B站講的最詳細的Python接口自動化測試實戰(zhàn)教程全集(實戰(zhàn)最新版)_嗶哩嗶哩_bilibili【已更新】B站講的最詳細的Python接口自動化測試實戰(zhàn)教程全集(實戰(zhàn)最新版)共計200條視頻,包括:1.【接口自動化】目前軟件測試的市場行情以及測試人員能力標(biāo)準(zhǔn)。、2.【接口自動化】全面熟練Requests庫以及底層方法調(diào)用邏輯、3.【接口自動化】接口自動化實戰(zhàn)及正則和JsonPath提取器的應(yīng)用等,UP主更多精彩視頻,請關(guān)注UP賬號。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

2、然后點擊“Create”

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

3、選中剛才新建的工程右鍵>New>Python Package>新建一個 case 文件夾

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

4、重復(fù)第 3 步的操作,新建一個 case 的文件夾,在里面添加一個 baidu 和一個 blog 的文件夾,里面分別有兩個用例的腳本,如下圖所示。test_01,test_02,test_03,test_04 是我們寫用例的腳本

?

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

5、test_01創(chuàng)建完后,打開腳本,寫入用例,其他的可以復(fù)制即可

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

6、參考代碼

 1 # coding:utf-8
 2 import unittest
 3 import time
 4 
 5 class Test(unittest.TestCase):
 6     def setUp(self):
 7         print ("start!")
 8     def tearDown(self):
 9         time.sleep(1)
10         print ("end!")
11     def test01(self):
12         print ("執(zhí)行測試用例 01")
13     def test02(self):
14         print ("執(zhí)行測試用例 02")
15     def test03(self):
16         print ("執(zhí)行測試用例 03")
17 
18 if __name__ == "__main__":
19     unittest.main()

7、在 honggetest 這個項目下面創(chuàng)建一個腳本 run_all_case.py,接下來用這個腳本去批量執(zhí)行所有的用例。

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

discover 加載測試用例

1、discover 方法里面有三個參數(shù):

  -case_dir:這個是待執(zhí)行用例的目錄。

  -pattern:這個是匹配腳本名稱的規(guī)則,test*.py 意思是匹配 test 開頭的所有腳本。

  -top_level_dir:這個是頂層目錄的名稱,一般默認(rèn)等于 None 就行了。

2、discover 加載到的用例是一個 list 集合,需要重新寫入到一個 list 對象 testcase 里,這樣就可以用 unittest 里面的 TextTestRunner 這里類的 run 方法去執(zhí)行。

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

3、運行后結(jié)果入下,就是加載到的所有測試用例了:

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

參考代碼

 1 # coding=utf-8
 2 #1.先設(shè)置編碼,utf-8可支持中英文,如上,一般放在第一行
 3 
 4 #2.注釋:包括記錄創(chuàng)建時間,創(chuàng)建人,項目名稱。
 5 '''
 6 Created on 2019-4-29
 7 @author: 北京-宏哥
 8 Project:學(xué)習(xí)和使用discover批量執(zhí)行測試用例
 9 '''
10 #3.導(dǎo)入unittest模塊
11 import unittest
12 #4.編寫測試用例和斷言
13 def all_case():
14     # 待執(zhí)行用例的目錄
15     case_dir = "C:\\Users\\DELL\\PycharmProjects\\honggetest\\case"
16     testcase = unittest.TestSuite()
17     discover = unittest.defaultTestLoader.discover(case_dir,
18                                                    pattern="test*.py",
19                                                    top_level_dir=None)
20     #discover方法篩選出用例,循環(huán)添加到測試套件中
21     for test_suit in discover:
22         for test_case in test_suit:
23             #添加用力到testcase
24             testcase.addTests(test_case)
25     print(testcase)
26     return testcase
27 if __name__ == "__main__":
28     # 返回實例
29     runner = unittest.TextTestRunner()
30     # run 所有用例
31     runner.run(all_case())

run 測試用例

1、為了更方便的理解,可以把上面 discover 加載用例的方法封裝下,寫成一個函數(shù)

2、先返回 TextTestRunner()類的實例

3、調(diào)用 run 方法去執(zhí)行 all_case()這個函數(shù)

?

python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解),python,自動化,開發(fā)語言,經(jīng)驗分享,運維,github

參考代碼

?

# coding=utf-8
#1.先設(shè)置編碼,utf-8可支持中英文,如上,一般放在第一行

#2.注釋:包括記錄創(chuàng)建時間,創(chuàng)建人,項目名稱。
'''
Created on 2019-4-29
@author: 北京-宏哥
Project:學(xué)習(xí)和使用discover批量執(zhí)行測試用例
'''
#3.導(dǎo)入unittest模塊
import unittest
#4.編寫測試用例和斷言
def all_case():
    # 待執(zhí)行用例的目錄
    case_dir = "C:\\Users\\DELL\\PycharmProjects\\honggetest\\case"
    testcase = unittest.TestSuite()
    discover = unittest.defaultTestLoader.discover(case_dir,
                                                   pattern="test*.py",
                                                   top_level_dir=None)
    testcase.addTests(discover)  # 直接加載 discover    可以兼容python2和3
    print(testcase)
    return testcase
if __name__ == "__main__":
    # 返回實例
    runner = unittest.TextTestRunner()
    # run 所有用例
    runner.run(all_case())

?

小結(jié)

1、unittest模塊中的TestLoader類有一個discover方法(Python2.7之后)discover(start_dir,?pattern='test*.py',top_level_dir=None)遞歸查找指定目錄(start_dir)及其子目錄下的全部測試模塊,將這些測試模塊放入一個TestSuite 對象并返

回。只有匹配pattern的測試文件才會被加載到TestSuite中。如果一個測試文件的名稱符合pattern,將檢查該文件是否包含 load_tests() 函數(shù),如果 load_tests() 函數(shù)存在,則由該函數(shù)負(fù)責(zé)加載本文件中的測試用例。如果不存在,就會執(zhí)行

loadTestsFromModule(),查找該文件中派生自TestCase 的類包含的 test 開頭的方法。

2、用例路徑另一種寫法文章來源地址http://www.zghlxwxcb.cn/news/detail-544451.html

case_dir = os.path.join(os.getcwd(), "case")

到了這里,關(guān)于python接口自動化(二十六)--批量執(zhí)行用例 discover(詳解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包