懸浮下拉框
的設置選擇
下拉框的選擇
顯性等待
在UI的自動化測試中,經常會由於網絡加載慢的問題導致資源加載不出來,從而影響測試的效率,之前我們對這樣的處理方案是使用了time庫里面的sleep()方法來休眠幾秒鍾,但是這樣的方式畢竟不是很好的解決方案。在UI自動化測試中,關於等待的部分,主要匯總為如下三點,具體如下:
1、固定等待,也就是使用sleep()方法
2、隱式等待,使用到的方法是implicitly_wait的方法,可以把它理解為設置最長等待時間
3、顯式等待,主要指的是程序每隔一段時間執行自定義的程序判斷條件,如果判斷成立,程序就會繼續執行,那么如果判斷失敗,就會報TimeOutExpection的異常信息
雙擊,
double_click一般主要應用於數據的交互方面,比如添加用戶姓名的按鈕,假設程序規定用戶名稱是唯一的,那么雙擊后是否插入了兩條用戶名稱一樣的信息了,這就需要來驗證,提交數據后,然后在數據列表中使用用戶名稱來查詢,查看是否存在兩條數據,一般而言,前后端的程序員都是會處理這些的,但是作為測試我們還是需要驗證這些測試場景。
ActionChains類的方法
行動鏈
提示框
雙擊,右擊
雙擊用到行動連,提示框用到Alert的類
右擊用到的也是行動連
#handle手柄,current當前,frame框架
# 下載安裝好瀏覽器驅動
from selenium import webdriver #導入瀏覽器驅動
import time as t
driver=webdriver.Chrome()
#獲取當前測試地址 current-url
獲取當前頁面資源(源代碼)',driver.page_source
assert driver.current_url.endswith('hao123.com/')==True #斷言當前網址是以(‘hao123’)結尾為真。
# print(driver.title) #打印網址標題
assert driver.title=='百度一下,你就知道' #斷言網址標題正確
driver.find_element_by_link_text('企業郵箱').click() 超鏈接直接點進去
driver.switch_to.frame('login_frame') #移動到框架里,這里是默認根據id移動的
driver.refresh() #刷新
基礎關鍵字
assert 斷言
current-url #獲取當前測試地址
.page_source #當前頁面資源(源代碼)
assert driver.current_url.endswith()==True 斷言當前網址是以()結尾。
driver.title 網址標題
link_text 超鏈接
switch_to.frame 移動到框架
refresh() #刷新
driver.window_handles 所有窗口
driver.current_window_handle 當前窗口
attribute 屬性
網頁切換時,如果不知道下一個頁面的名字,就得用for x in 循環 。current只能切換到當前頁面,沒辦法切換到下一頁面
driver.back() 后退
driver.forword ()前進
so.clear清空(so是給定位的文本框輸入信息)
webdriverl瀏覽器屬性的方法應用
get_attribute():獲取元素屬性的值
獲取當前頁面的資源 page_source
driver.name獲取執行的瀏覽器名字
is_displayed()是否可見
is_enabled():是否可編輯
is_selected()針對單選按鈕是否勾選
action_chains行動鏈
Selectl類的方法,選擇框
首先是導入方法類么
Alert類的方法,提示框
from selenium.webdriver.common.alert import Alert
在Alert的類里面,涉及到的方法以及方法的作用主要匯總為如下:
-
text:獲取彈出框的文本信息
-
accept是接受Confirm彈出框
-
dismiss是拒絕接受Confirm彈出框
-
send_keys是在Prompt消息對話框里面輸入想要輸入的內容
ActionChains類的方法,鼠標
from selenium.webdriver.common.action_chains import ActionChains
nb.context_click(xingneng).perform()
context_click 右擊
obj.double_click(so).perform()
double_click 雙擊
context上下文 implicitly_wait