encoding = utf-8
import time
from datetime import datetime
def currentDate():
“”"
生成年月日字符串
:return: 年月日
“”"
date = time.localtime()
today = str(date.tm_year) + ‘-’ + str(date.tm_mon) +’-’+str(date.tm_mday)
return today
def currentTime():
“”"
生成当前时间字符串
:return:
“”"
timeStr = datetime.now()
now = timeStr.strftime(’%H-%M-%S’)
return now
import os
def createDir():
“”"
创建目录
:return:
“”"
# 获取当前文件所在目录的绝对路径
currentPath = os.path.dirname(os.path.abspath(file))
# 获取当前日期
today = currentDate()
# 构造以今天时间命名的目录
dateDir = os.path.join(currentPath, today)
# print(dateDir)
if not os.path.exists(dateDir):
# 如果以当天日期命名的目录不存在,则创建
os.mkdir(dateDir)
# 获得当前时间的字符串
now = currentTime()
timeDir = os.path.join(dateDir, now)
# print(timeDir)
if not os.path.exists(timeDir):
# 如果以当前时间命名的目录不存在,则创建
os.mkdir(timeDir)
return timeDir
创建目录
picDir = createDir()
from selenium import webdriver
import unittest
import traceback
def screenShot(dr, savePath):
“”"
截屏并保存
:param dr: 浏览器
:param savePath:存放路径
:param picName: 图片名称
:return: 无
“”"
# 构造截屏路径及文件名
# windows默认编码是GBK,而传入的图片名为utf8编码,所以需要转码
picPath = os.path.join(savePath,‘11.png’)
try:
# 将截取的屏幕,保存为本地文件
# 调用dr.get_screenshot_as_file()方法
dr.get_screenshot_as_file(picPath)
except Exception as e:
print(traceback.print_exc())
class TestFailCaptureScreen(unittest.TestCase):
“”“测试异常截屏”""
def setUp(self) -> None:
self.dr = webdriver.Chrome()
def tearDown(self) -> None:
self.dr.quit()
def testSoGouSearch(self):
url = 'http://www.sogou.com'
self.dr.get(url)
try:
self.dr.find_element_by_id('query').send_keys('我是菜鸟')
self.dr.find_element_by_id('stb').click()
time.sleep(3)
self.assertTrue('我天下第一'
in self.dr.page_source,'"我天下第一"在页面原码中未找到')
except AssertionError as e:
screenShot(self.dr,picDir)
except Exception as e:
print(traceback.print_exc())
screenShot(self.dr,picDir)
if name == ‘main’:
unittest.main()