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()
这里遇到了一个坑,生成的测试报告名称不能带有/和:等一些特殊字符,否则会报以下错误
本文来自博客园,作者:Harry_666,转载请注明原文链接:https://www.cnblogs.com/harry66/p/12081224.html