什么是斷言
斷言是編程術(shù)語务荆,表示為一些布爾表達(dá)式妆距,程序員相信在程序中的某個(gè)特定點(diǎn)該表達(dá)式值為真,可以在任何時(shí)候啟用和禁用斷言驗(yàn)證函匕,因此可以在測試時(shí)啟用斷言而在部署時(shí)禁用斷言娱据。
獲取斷言信息的操作
current_url 獲取當(dāng)前訪問頁面url
title 獲取當(dāng)前瀏覽器標(biāo)題
page_source 獲取網(wǎng)頁源碼
get_screenshot_as_png() 保存圖片
多表單切換
在網(wǎng)頁中,表單嵌套是很常見的情況盅惜,尤其是在登錄的場景
什么是多表單
實(shí)際上就是使用iframe/frame中剩,引用了其他頁面的鏈接,真正的頁面數(shù)據(jù)并沒有出現(xiàn)在當(dāng)前源碼中抒寂,但是在瀏覽器中我們看到咽安,簡單理解可以使頁面中開了一個(gè)窗口顯示另一個(gè)頁面
處理方法
直接使用id值切換進(jìn)表單
driver.switch_to.frame(value)/driver.switch_to_frame(value)
定位到表單元素,再切換進(jìn)入
el = driver.find_element_by_xxx(value)
driver.switch_to.frame(el)/driver.switch_to_frame(el)
彈出框操作
進(jìn)入到彈出框中
driver.switch_to.alert
接收警告
accept()
解散警告
dismiss()
發(fā)送文本到警告框
send_keys(data)
用法:driver.switch_to.alert.accept()
鼠標(biāo)和鍵盤操作
手動(dòng)測試時(shí)鍵盤的操作在selenium頁有實(shí)現(xiàn)蓬推,關(guān)于鼠標(biāo)的操作由ActionChains()類來提供,關(guān)于鍵盤的操作由Key()類來提供
瀏覽器等待
1) 為什么要進(jìn)行等待澡腾?
1.網(wǎng)速慢
2.網(wǎng)站內(nèi)容過多
3.如果不進(jìn)行等待而直接定位元素沸伏,可能會(huì)拋出異常
2) selenium中等待的分類:
顯示等待
顯示等待是根據(jù)條件進(jìn)行等待,等待條件出現(xiàn)
實(shí)現(xiàn):