python3時間函數


上一篇是生成測試報告的代碼,如果重復運行測試報告名稱相同會不停的覆蓋,之前的測試報告也會丟失,無法追溯之前的問題。那么如何解決這個問題了呢?

首先想到的是用隨機函數取隨機名稱,一旦生成的報告較多時,無法分清報告的先后順序,於是可以利用python自帶的時間函數生成當前的時間來命名測試報告,那么上面的問題就全部解決了。當然你也可以用來

解決類似的事情,比如爬蟲爬取下來的文件命名,可以用時間加文件類型命名。。。話不多說上代碼

1 >>> import time
2 >>> time.time()
3 1577015630.9973366
4 >>> time.ctime()
5 'Sun Dec 22 19:53:55 2019'
6 >>> time.localtime()
7 time.struct_time(tm_year=2019, tm_mon=12, tm_mday=22, tm_hour=19, tm_min=54, tm_sec=3, tm_wday=6, tm_yday=356, tm_isdst=0)
8 >>> time.strftime("%Y/%m/%d %H:%M:%S")
9 '2019/12/22 19:55:03'

time.time()   #獲取當前時間搓

time.ctime()   #獲取當前時間的字符串形式

time.localtime()  #當前時間的struct_time形式

time.strftime()   #當前時間,並轉換為字符串格式

運用上面的時間函數添加到之前的代碼來,修改測試報告的名稱。

 1 import unittest
 2 import time
 3 from HTMLTestRunner import HTMLTestRunner
 4 
 5 now = time.strftime("%Y-%m-%d %H_%M_%S")#一定不要包括禁止使用的文件名特殊符號  6 test_dir = './'#當前路徑
 7 discover = unittest.defaultTestLoader.discover(test_dir, pattern='iot_*.py')#iot_*.py包含測試用例的名稱
 8 filename = test_dir  + now + 'iot.html'
 9 fp = open(filename,"wb")#報告存放的路徑
10 runner = HTMLTestRunner(stream=fp, title='科信雲測試報告',description='測試用例情況:')
11 runner.run(discover)
12 fp.close()

這里遇到了一個坑,生成的測試報告名稱不能帶有/和:等一些特殊字符,否則會報以下錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM