根据测试路径自动生成测试用例_自拍教程75Python 根据测试用例选择测试资源
案例故事:Android手機(jī)音視頻圖片解碼播放測(cè)試,有將近上千條用例,
包含了不同的音視頻圖片文件,每條用例都至少對(duì)應(yīng)了一個(gè)測(cè)試資源文件。整個(gè)測(cè)試資源倉庫,將近100G,一些視頻比如High Profile 5.2規(guī)格的,一個(gè)就500M,
如果每次測(cè)試都需要adb push導(dǎo)入這么多測(cè)試資源文件到系統(tǒng),很費(fèi)時(shí)間,
且系統(tǒng)加載這么多媒體文件,經(jīng)常出現(xiàn)卡死,反應(yīng)不過來的情況。?
其實(shí)每一輪的測(cè)試重點(diǎn)及對(duì)應(yīng)的測(cè)試用例是不同的, 如果只挑選出當(dāng)前待測(cè)試用例的測(cè)試資源文件,則可以減少adb push導(dǎo)入的時(shí)間, 也可以減少系統(tǒng)因加載過測(cè)試資源媒體文件而出現(xiàn)的卡死反應(yīng)慢等問題, 所以我們要根據(jù)測(cè)試用例,選擇性的導(dǎo)入測(cè)試資源到Android系統(tǒng)!
準(zhǔn)備階段
1.所有的媒體文件應(yīng)該存放在一個(gè)總的“倉庫”下,比如All_Resources文件夾下。2.測(cè)試用例的Excel表格里,至少是需要有一列用于標(biāo)記每個(gè)用例對(duì)應(yīng)“測(cè)試資源”3.只要解析測(cè)試用例Excel表格里的標(biāo)記的“媒體測(cè)試文件夾”,然后去All_Resources文件夾里對(duì)應(yīng)匹配,匹配成功的,復(fù)制到一個(gè)Target_Resources文件夾下。
Python批處理腳本形式
記住批處理腳本的精髓:批量順序執(zhí)行語句, 以下腳本,All_Resource文件夾必須和Python腳本在同一個(gè)路徑下。
# coding=utf-8import osimport shutilimport openpyxl# 定義常量TESTCASE_EXCEL = "TestCase.xlsx" # 測(cè)試用例文件CASE_RESOURCE_COL = 7curdir = os.getcwd()# 測(cè)試資源總倉庫文件夾all_resource_folder = os.path.join(curdir, "All_Resources")# 目標(biāo)資源文件夾, 即輸出文件夾target_resource_folder = os.path.join(curdir, "Target_Resources")# 如果沒有Target_Resources這個(gè)文件夾,則創(chuàng)建這個(gè)文件夾if not os.path.exists(target_resource_folder): os.mkdir(target_resource_folder)# 先刪除Target_Resource這個(gè)文件夾下的所有文件,確保每次這個(gè)文件夾每次都是根據(jù)最新的用例生成的。shutil.rmtree(target_resource_folder)wb = openpyxl.load_workbook(TESTCASE_EXCEL)ws = wb.activerows = ws.max_rowfor i in range(2, rows + 1): case_folder = ws.cell(row=i, column=CASE_RESOURCE_COL).value # 遍歷第7列 resource_folder_path = os.path.join(all_resource_folder, case_folder) target_folder_path = os.path.join(target_resource_folder, case_folder) if os.path.exists(resource_folder_path): # 復(fù)制文件夾 shutil.copytree(resource_folder_path, target_folder_path)print("測(cè)試資源已經(jīng)復(fù)制到%s文件夾下了" % target_resource_folder)os.system("pause")Python面向過程函數(shù)形式
以下腳本,可自定義修改用例Excel文件,且可自定義All_Resources文件夾的路徑,
沒說一定要本Python腳本在同一個(gè)路徑下,其代碼可重塑性,比批處理腳本形式更強(qiáng)。
Python面向?qū)ο箢愋问?/h3>
以下腳本,可自定義修改用例Excel文件,且可自定義All_Resources文件夾的路徑,
沒說一定要與本Python腳本在同一個(gè)路徑下,且相對(duì)于面向過程函數(shù)形式,
其還可以單獨(dú)再拎出一個(gè)函數(shù)來:self.create_target_folder()函數(shù),
但是面向過程函數(shù)形式,是無法拎出這么一個(gè)函數(shù)來的,因?yàn)閠arget_resource_folder變量無法作用于2個(gè)不同函數(shù)。而面向?qū)ο箢愋问?#xff0c;self.target_resource_folder可作用于類內(nèi)的各個(gè)函數(shù)。
練手素材下載
包括:
1.一個(gè)All_Resources測(cè)試資源文件夾2.兩份測(cè)試用例,不同的用例,可以生成不同的測(cè)試資源在Target_Resources文件夾內(nèi)3.一個(gè)select_resource.py腳本
運(yùn)行方式
1.從服務(wù)器里導(dǎo)出測(cè)試用例文件,或者本來的測(cè)試用例Excel文件2.確保導(dǎo)出來的測(cè)試用例有一列“測(cè)試資源”,并對(duì)每個(gè)用例做了測(cè)試資源文件夾的標(biāo)記3.必要的話修改“測(cè)試資源”列號(hào),修改測(cè)試用例Excel文件名,修改All_Resources資源文件夾路徑4.保存為select_resource.py, 雙擊運(yùn)行或者python select_resource.py運(yùn)行5.則最終你會(huì)在當(dāng)前路徑下看到一個(gè)Target_Resources文件夾生成,內(nèi)含當(dāng)前這份測(cè)試用例需要用到測(cè)試資源。
小提示:其實(shí)All_Resources文件夾,可以是本地的,也可以是局域網(wǎng)網(wǎng)絡(luò)的共享文件夾, 之前我們項(xiàng)目將全部的測(cè)試資源,都放到了//sharefolder/All_Resources路徑下, 經(jīng)過測(cè)試,可以從以上網(wǎng)絡(luò)共享文件夾里成功取出資源文件來。?
更多更好的原創(chuàng)文章,請(qǐng)?jiān)L問官方網(wǎng)站:www.zipython.com[2]?自拍教程(自動(dòng)化測(cè)試Python教程,武散人編著)
原文鏈接:https://www.zipython.com/#/detail?id=e19b40b9835c4cdb94d453dae834cb71 也可關(guān)注“武散人”微信訂閱號(hào),隨時(shí)接受文章推送。
References
[1]?跳轉(zhuǎn)到自拍教程官網(wǎng)下載:?https://www.zipython.com/#/detail?id=e19b40b9835c4cdb94d453dae834cb71[2]?www.zipython.com:?https://www.zipython.com
總結(jié)
以上是生活随笔為你收集整理的根据测试路径自动生成测试用例_自拍教程75Python 根据测试用例选择测试资源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无法读取源文件或磁盘_禁用格式化磁盘操作
- 下一篇: python startswitch_p