溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數(shù)據(jù)驅(qū)動ddt 示例,數(shù)據(jù)在代碼中

發(fā)布時間:2020-07-21 19:02:35 來源:網(wǎng)絡 閱讀:498 作者:qq5a16e6241946e 欄目:編程語言
#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數(shù)據(jù)驅(qū)動
@ddt.ddt
class TestDemo(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome(executable_path = "e:\\chromedriver")

    #定義測試數(shù),元組的元素是列表
    @ddt.data([u"測試開發(fā)",u"測試開發(fā)"],
              [u"瘋狂動物城",u"古德溫"],
              [u"光榮之路",u"光榮之路"])

    #解包測試數(shù)據(jù),每個列表的數(shù)據(jù)分別對應下面的testdat、expectdata,每個數(shù)據(jù)會執(zhí)行一次測試腳本
    @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()
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI