數據驅動ddt 示例,數據在代碼中
阿新 • • 發佈:2018-09-10
頁面元素 driver cti err ogg com cut cas 格式
#coding=utf-8
from selenium import webdriver
import unittest,time
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 %(message)s‘,
#打印日誌的時間
datefmt = ‘%a, %d %b %Y %H:%M:%S‘,
#日誌存放文件
filename = ‘report.log‘,
#日誌打開方式
filemode = ‘w‘
)
#使用ddt數據驅動
@ddt.ddt
class TestDemo(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(executable_path = "e:\\chromedriver")
#定義測試數,元組的元素是列表
@ddt.data([u"測試開發",u"測試開發"],
[u"瘋狂動物城",u"古德溫"],
[u"光榮之路",u"光榮之路"])
#解包測試數據,每個列表的數據分別對應下面的testdat、expectdata,每個數據會執行一次測試腳本
@ddt.unpack
def test_dataDriven(self,testdata,expectdata):
url = "https://www.baidu.com"
self.driver.get(url)
#隱式等待
self.driver.implicitly_wait(10)
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,e:
logging.error(u"查找的頁面元素不存在,異常:" +str(traceback.format_exc()))
except AssertionError,e:
logging.info(u"搜索 %s ,期望%s,失敗" %(testdata,expectdata))
except Exception,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()
數據驅動ddt 示例,數據在代碼中