天天看點

web- unittest架構執行一個檔案夾所有的py檔案

unittest架構執行一個檔案夾所有的py檔案

把相關的幾條用例放到一個.py 檔案裡,把所有.py 檔案放到一個檔案夾下,然後通

過一個程式執行檔案夾下面的所有用例。

#-*-coding=utf-8 -*-
import os
#列出某個檔案夾下的所有 case,這裡用的是 python,
#所在 py 檔案運作一次後會生成一個 pyc 的副本
caselist=os.listdir('D:\\selenium_use_case\\test_case')
for a in caselist:
s=a.split('.')[1] #選取字尾名為 py 的檔案
if s=='py':
#此處執行 dos 指令并将結果儲存到 log.txt
os.system('D:\\selenium_use_case\\test_case\\%s 1>>log.txt 2>&1'%a)      

python  知識補充 :

python 的 os 子產品可以用來操作本地檔案,通過 os.listdir()函數獲得指定目錄中的内容;下面通過

小例子單獨了解這段程式的比對用法。打開 python IDLE 的互動模式輸入以下代碼。

>>> x = 'testing.py'
>>> s = x.split('.')[1]
>>> if s=='py':
print s
py      

split()用于字元串分割,本例中以檔案名的點(.)作為分割。被分割之的字元串‘testing.py’會

變成['testing','py'] ,[n]表示數組,因為數組是從0開始計算的,是以[0]取的是‘testing’,那麼[1]

取的就是‘py’。

把取到的結果指派給 s ,if 判斷 s 等于(==)‘py’則執行後面的語句。

os.system('D:\\selenium_use_case\\test_case\\%s 1>>log.txt 2>&1' %a) 語句根據上面的判斷

條件選取D:\\selenium_use_case\\test_case\\目錄下的檔案執行,并将執行結果儲存到log.txt檔案中。

檢視 log.txt 檔案:      
..
----------------------------------------------------------------------
Ran 2 tests in 32.469s
OK