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()

这里遇到了一个坑,生成的测试报告名称不能带有/和:等一些特殊字符,否则会报以下错误

posted @ 2019-12-22 21:45  Harry_666  阅读(737)  评论(0编辑  收藏  举报