from selenium import webdriver
import unittest, time, os
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 % (massage)s』,
# 列印日誌的時間
datefmt=』%a, %d %b %y %h: %m: %s』,
# 日誌檔案存放的目錄()
filename=『d:/python1/自動化測web/書籍selenium/錯誤日誌/report.log』,
# 開啟日誌檔案的方式
filemode=『w』
)@ddt.ddt
class testdatadrive(unittest.testcase):
「」「資料驅動測試」""
def setup(self) -> none:
self.dr = webdriver.chrome()
self.dr.maximize_window()
print('----------用例準備就緒-----------')
@ddt.data(['我是菜鳥', '《刺客伍六七》'],
['我長得挺帥', '一雙明亮有神的眼睛,高挺俏麗的鼻樑,白淨的臉蛋,很著'
'人喜歡的嘴唇,我看你挺帥氣...'],
['你該不會是個傻子吧', '鸚鵡兄弟']
)@ddt.unpack
def test_data_drive(self, testdata, expectdata):
url = ''
self.dr.get(url)
self.dr.implicitly_wait(20)
try:
self.dr.find_element_by_id('kw').send_keys(testdata)
self.dr.find_element_by_id('su').click()
time.sleep(3)
# 斷言期望結果是否出現在頁面原始碼中
self.asserttrue(expectdata in self.dr.page_source)
except nosuchelementexception as e:
logging.error('查詢的元素不存在,異常堆疊資訊:'
+ str(traceback.format_exc()))
except assertionerror as e:
logging.info('失敗---搜尋:%s,期望:%s' % (testdata, expectdata))
except exception as e:
logging.info('未知錯誤,錯誤資訊:' + str(traceback.format_exc()))
else:
logging.info('成功---搜尋:%s,期望:%s' % (testdata, expectdata))
def teardown(self) -> none:
self.dr.quit()
print('-----------用例執行結束-----------')
ifname== 『main』:
unittest.main()
UI自動化測試隨筆
昨天給開發的同事講我們正在做的自動化測試,同事問了句 為什麼api的測試不需要寫 了,而ui的測試還需要寫那麼多 呢?能不寫 麼?目前我們的自動化測試的現狀 目前主要覆蓋兩個部分 api的測試和ui的測試。對於api的測試經過框架的封裝,基本上只需要編寫乙個xml描述的test case就可以了,x...
UI自動化測試框架
python selenium unittest ddt htmlreport分布式資料驅動自動化測試框架結構 1 business 公共業務模組,如登入模組,可以把登入模組進行封裝供呼叫 login business.py from page object.common page.login pa...
UI自動化測試 介面測試等自動化測試策略
今天跟大家介紹ui測試 介面測試 單元測試主要內容,以及每種測試花費時間討論。ui測試 selenium ui測試是最接近軟體真實使用者使用行為的測試型別。通常是模擬真實使用者使用軟體的行為,即模擬使用者在軟體介面上的各種操作,並驗證這些操作對應的結果是否正確。介面測試 api測試 api測試,主要...