Selenium截图上加上时间戳

思路:

1  新建screenshot文件夹,不存在则创建该目录

2  在screenshot文件夹下新建当日日期文件夹,比如20190110;不存在则创建该目录

3  截图保存到当日文件夹,且截图文件名加上时间戳。 避免用例执行多次,截图被覆盖。

import os
from datetime import datetime


def getscreenshot(driver,file_name="页面截图"):
    screenshot_dir ='./screenshot'
    nowdate = datetime.now().strftime('%y%m%d')  # 当日日期
    screenshot_today_dir = os.path.join(screenshot_dir, nowdate)

    if  not os.path.exists(screenshot_dir):  # 不存在则创建该目录
        os.mkdir(screenshot_dir)

        if not os.path.exists(screenshot_today_dir):
            os.mkdir(screenshot_today_dir)
            nowtime = datetime.now().strftime('%H%M%S%f')
            filename=nowtime+file_name+".png"
            filepath=os.path.join(screenshot_today_dir,filename)
            driver.get_screenshot_as_file(filepath)  # 截图,文件名=filename+时间戳
        else:
            nowtime = datetime.now().strftime('%H%M%S%f')
            filename = nowtime + file_name + ".png"
            filepath = os.path.join(screenshot_today_dir, filename)
            driver.get_screenshot_as_file(filepath)  # 截图,文件名=filename+时间戳
    else:
        if not os.path.exists(screenshot_today_dir):
            os.mkdir(screenshot_today_dir)
            nowtime = datetime.now().strftime('%H%M%S%f')
            filename=nowtime+file_name+".png"
            filepath=os.path.join(screenshot_today_dir,filename)
            driver.get_screenshot_as_file(filepath)  # 截图,文件名=filename+时间戳
        else:
            nowtime = datetime.now().strftime('%H%M%S%f')
            filename = nowtime + file_name + ".png"
            filepath = os.path.join(screenshot_today_dir, filename)
            driver.get_screenshot_as_file(filepath)  # 截图,文件名=filename+时间戳

4 调用

#coding =utf-8

from selenium import webdriver
import time
from yishangdai_web.testcase.截图上加上时间戳 import getscreenshot

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(3)
getscreenshot(driver)

driver.quit()

运行后:

 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/pantheryao/p/12108226.html