1.先安裝ddt
#pip install ddt,使用python命令打開cmd,輸入import ddt 如果沒有報錯,說明安裝成功了
2.實現的邏輯:
1)打開百度首頁
2)在搜索框中輸入一個搜索的關鍵字
3)單擊搜索按鈕
4)驗證搜索結果頁面是否包含預期關鍵字,包含則認為測試通過,否則的話就是失敗,在測試過程中打印日志
以下是實例完整代碼請參考:
import unittest
from selenium import webdriver
import 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’,
#打印日志時間
#datafmt=’%a %d %b %Y %H:%M: %S’,
format=’%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s’,
datefmt=’%a %d %b %Y %H: %M: %S’,
#日志文件存放的目錄(目錄必須存在)及日志文件名
filename=‘D://autolog//report.log’,
#打開日志文件的方式
filemode=‘w’
)
@ddt.ddt
class TestDemo(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Chrome(executable_path=’/python/driver/chromedriver’)
@ddt.data([u"神奇動物在哪里",u"葉茨"],
[u"瘋狂動物城",u"古德溫"],
[u"大話西游之月光寶盒",u"周星馳"])
@ddt.unpack
def test_dataDriverByObj(self,testdata,expectdata):
url=‘http://baidu.com’
self.driver.get(url)
#設置隱式等待10秒
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:
logging.error(u"查找的頁面元素不存在:" + str(traceback.format_exc()))
except AssertionError:
logging.info(u"搜索:%s,期望:%s,失敗" % (testdata, expectdata))
else:
logging.info(u"搜索:%s,期望:%s,通過" % (testdata, expectdata))
def tearDown(self):
self.driver.quit()
if
name
== ‘
main
’:
unittest.main()
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
