生成以时间命名的目录(以存放异常截图或日志文件)

工具类

截屏工具类及测试示例

 

 

工具类:FileUtil.py

本模块主要用于获取当前的日期以及时间,用于生成保存截图文件目录名等场景。

 1 import time, os
 2 from datetime import datetime
 3 
 4 
 5 # 输出当前时间格式:年-月-日
 6 def currentDate():
 7     date = time.localtime()
 8     # 输出:time.struct_time(tm_year=2018, tm_mon=1, tm_mday=21, tm_hour=23, tm_min=27, tm_sec=43, tm_wday=6, tm_yday=21, tm_isdst=0)
 9     # 构造今天的日期字符串
10     today = str(date.tm_year) + "-" + str(date.tm_mon) + "-" + str(date.tm_mday)
11     return today
12 
13 
14 # 输出当前时间格式:时-分-秒
15 def currentTime():
16     timeStr = datetime.now()
17     now = timeStr.strftime("%H-%M-%S")
18     return now
19 
20 
21 # 创建目录:年月日为父目录,时分秒为子目录
22 def createDir():
23     # 获得当前文件所在目录的绝对路径
24     currentPath = os.path.dirname(os.path.abspath(__file__))
25     today = currentDate()
26     dateDir = os.path.join(currentPath, today)
27     print("日期目录:%s" % dateDir)
28     if not os.path.exists(dateDir):
29         # 如果以今天日期命名的目录不存在则创建
30         os.mkdir(dateDir)
31     now = currentTime()
32     timeDir = os.path.join(dateDir, now)
33     print("时间目录:%s" % timeDir)
34     if not os.path.exists(timeDir):
35         # 如果以今天日期命名的目录不存在则创建
36         os.mkdir(timeDir)       
37    
38     return timeDir
39 
40 
41 if __name__ == "__main__":
42     print(createDir())

 

截屏工具类:ScreenShot.py

封装异常截图。

 1 from selenium import webdriver
 2 import DateUtil
 3 import os
 4 import traceback
 5 import time
 6 
 7 
 8 # 封装截屏方法
 9 def take_screen_shot(driver, savePath, picName):
10     # 构造截屏路径及图片名
11     picPath = os.path.join(savePath, picName+".png")
12     try:
13         driver.get_screenshot_as_file(picPath)
14         print("截图成功:%s" % picName+".png")
15     except Exception:
16         print("截图失败:%s" % traceback.print_exc())
17 
18 
19 # 测试示例
20 if __name__ == "__main__":
21     picDir = DateUtil.createDir()
22 
23     def test():
24         try:
25             # 序号用来作为文件名结尾,防止文件名重复
26             num = 0
27             driver = webdriver.Chrome()
28             driver.get("http://www.baidu.com")
29             assert "hiphop" in driver.page_source
30         except AssertionError as e:
31             num += 1
32             take_screen_shot(driver, picDir, "AssertionError"+str(num))
33         except Exception as e:
34             num += 1
35             take_screen_shot(driver, picDir, "Exception"+str(num))
36 
37     test()

 

posted @ 2021-01-11 10:53  Juno3550  阅读(270)  评论(0编辑  收藏  举报