encoding =utf -8
from selenium import webdriver
import unittest, time, os
import logging, traceback
import ddt
from selenium.common.exceptions import NoSuchElementException
初始化日志对象
logging.basicConfig(
# 日志级别
level=logging.INFO,
# 日志格式
# 时间、代码所在文件名、代码行号、日志级别名字、日志信息
format=’%(asctime)s % (filename)s[line:%(lineno)d] % (levelname)s % (massage)s’,
# 打印日志的时间
datefmt=’%a, %d %b %Y %H: %M: %S’,
# 日志文件存放的目录()
filename=‘D:/python1/自动化测web/书籍selenium/错误日志/report.log’,
# 打开日志文件的方式
filemode=‘w’
)
@ddt.ddt
class TestDataDrive(unittest.TestCase):
“”“数据驱动测试”""
def setUp(self) -> None:
self.dr = webdriver.Chrome()
self.dr.maximize_window()
print('----------用例准备就绪-----------')
@ddt.data(['我是菜鸟', '《刺客伍六七》'],
['我长得挺帅', '一双明亮有神的眼睛,高挺俏丽的鼻梁,白净的脸蛋,很着'
'人喜欢的嘴唇,我看你挺帅气...'],
['你该不会是个傻子吧', '鹦鹉兄弟']
)
@ddt.unpack
def test_data_drive(self, testData, expectData):
url = 'https://www.baidu.com/'
self.dr.get(url)
self.dr.implicitly_wait(20)
try:
self.dr.find_element_by_id('kw').send_keys(testData)
self.dr.find_element_by_id('su').click()
time.sleep(3)
# 断言期望结果是否出现在页面源码中
self.assertTrue(expectData in self.dr.page_source)
except NoSuchElementException as e:
logging.error('查找的元素不存在,异常堆栈信息:'
+ str(traceback.format_exc()))
except AssertionError as e:
logging.info('失败---搜索:%s,期望:%s' % (testData, expectData))
except Exception as e:
logging.info('未知错误,错误信息:' + str(traceback.format_exc()))
else:
logging.info('成功---搜索:%s,期望:%s' % (testData, expectData))
def tearDown(self) -> None:
self.dr.quit()
print('-----------用例执行结束-----------')
if name == ‘main’:
unittest.main()