# encoding = utf-8
"""
__title__ = ''
__author__ = 'davieyang'
__mtime__ = '2018/4/21'
"""
from selenium import webdriver
import unittest
import time
import logging
import traceback
import ddt
from selenium.common.exceptions import NoSuchElementException
# 初始化日志对象
logging.basicConfig(
# 日志级别
level=logging.INFO,
# 时间、代码所在文件名、代码行号、日志级别名字、日志信息
format='%(asctime)s %(filename)s[line: %(lineno)d] %(levelname)s %(message)s',
# 打印日志的时间
datefmt='%a, %d %b %Y %H:%M:%S',
# 日志文件存放的目录及日志文件名
filename='F:\\DataDriven\\TestResults\TestResults.TestResults',
# 打开日志的方式
filemode='w'
)
@ddt.ddt
class DataDrivenDDT(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(executable_path="F:\\automation\\webdriver\\chromedriver.exe")
@ddt.data([u"阿里巴巴", u"腾讯"], [u"美团外卖", u"百度"], [u"饿了么", u"蚂蚁金服"])
@ddt.unpack
def test_dataDrivenByDDT(self, testdata, expectdata):
url = "http://www.baidu.com"
self.driver.get(url)
self.driver.implicitly_wait(30)
try:
self.driver.find_element_by_id("kw").send_keys(testdata)
self.driver.find_element_by_id("su").click()
time.sleep(3)
self.assertTrue(expectdata in self.driver.page_source)
except NoSuchElementException as e:
logging.error(u"查找的页面元素不存在,异常堆栈信息:" + str(traceback.format_exc()))
except AssertionError as e:
logging.info(u"搜索 '%s',期望 '%s' ,失败" % (testdata, expectdata))
except Exception as e:
logging.error(u"未知错误,错误信息:" + str(traceback.format_exc()))
else:
logging.info(u"搜索 '%s',期望 '%s' ,通过" % (testdata, expectdata))
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
Python自动化测试系列[v1.0.0][数据驱动DDTTUPLE]
原创
©著作权归作者所有:来自51CTO博客作者Davieyang的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python自动化测试系列[v1.0.0][数据驱动PARAMETERIZEEJSON]
Python&Selenium自动化测试,PARAMETERIZE配合XML完成数据驱动【源码】
parameterize 数据驱动 JSON Python 控件 -
Python自动化测试系列[v1.0.0][数据驱动DDTJSON]
Python&Selenium自动化测试,DDT配合JSON完成数据驱动【源码】
JSON DDT 数据驱动 Python html -
Python自动化测试系列[v1.0.0][数据驱动DDTEXCEL]
Python&Selenium自动化测试,DDT配合Excel完成数据驱动【源码】
ddt excel 数据驱动 Python python -
Python自动化测试系列[v1.0.0][数据驱动DDTMYSQL]
Python&Selenium自动化测试,DDT配合MySql完成数据驱动【源码】
ddt mysql 数据驱动 python sql -
Python自动化测试系列[v1.0.0][数据驱动DDTXML]
Python&Selenium自动化测试,DDT配合XML完成数据驱动【源码】
python ddt xml 数据驱动 chrome -
Java自动化测试系列[v1.0.0][数据驱动DPCsv]
Java&Selenium自动化测试,DP配合CSV完成数据驱动【源码】
DP DataProvider 数据驱动 自动化测试 Java -
Java自动化测试系列[v1.0.0][数据驱动DPArray]
Java&Selenium自动化测试,使用DP配合数组实现数据驱动【源码】
DP Array DataProvider 自动化测试 ide -
Java自动化测试系列[v1.0.0][数据驱动DPExcel]
Java&Selenium自动化测试,使用DP配合Excel实现数据驱动【源码】
DP DataProvider Java 数据驱动 自动化测试 -
Java自动化测试系列[v1.0.0][数据驱动DPMySql]
Java&Selenium自动化测试,DP配合MySql完成数据驱动【源码】
DP DataProvider 自动化测试 数据驱动 Java -
Python自动化测试系列[v1.0.0][智能等待]
所谓的智能等待,实际上就给自动化测试过程中等待页面加载元素的时候加了判断条件,而不是直接使用线程等待,这使得等待页面元素更加灵活和高效
智能等待 WebDriverWait css 字符串 下拉列表 -
JavaApp自动化测试系列[v1.0.0][Alert]
Java结合TestNG单元测试框架,实现移动端操作Alert【源码】
Alert Java TestNG Appium java -
JavaApp自动化测试系列[v1.0.0][切换]
Java结合TestNG单元测试框架,实现移动端切换操作【源码】
switch 切换 Java TestNG Appium -
JavaApp自动化测试系列[v1.0.0][滑动]
Java结合TestNG单元测试框架,实现移动端滚动操作【源码】
Scroll Appium Java TestNG 滚动 -
JavaApp自动化测试系列[v1.0.0][拖放]
Java结合TestNG单元测试框架,实现移动端拖拽操作【源码】
拖拽 Java TestNG Appium java -
JavaApp自动化测试系列[v1.0.0][缩放]
Java结合TestNG单元测试框架,实现移动端缩放【源码】
Java TestNg Pinch Zoom Appium