1. 程式人生 > >數據驅動ddt 示例,數據在代碼中

數據驅動ddt 示例,數據在代碼中

頁面元素 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 示例,數據在代碼中