軟件測試--selenium腳本編寫注意點(一)

在通過python+selenium編寫ui自動化腳本的時候,我遇到過很多需要注意的點,今天分享給大家一下。

一、睡眠時間

1、 強制等待時間 sleep()
必須導入time包後纔可以使用,強制等待生效時間=頁面跳轉時間+sleep()設置休眠時間

強制等待時間使用語法:sleep(s) s表示時間,以秒爲單位 例:sleep(2) 休眠2s

2、顯示等待時間 WebDriverWait()

必須導入WebDriverWait包纔可以使用,顯示等待時間是針對單個元素生效的,當在規定時間內找到了對應元素,則執行下一步操作。

顯示等待時間使用語法:
WebDriverWait(x,y,z).until(lambda x:x.find_element_by_元素定位方法(“對應元素方法的值”))

x表示網頁窗口對象
y表示總等待時間(s)
z表示等待過程中,每隔多久查看一次元素,單位s

ntil是固定格式,可以理解爲直到元素定位到爲止,lambda x:x是一個匿名函數構建的方法,這裏不太好理解可以理解爲固定格式lambda總體就是網頁窗口對象,而後面的.find_element_by_…就是援用之前的定位方法

3、隱式等待時間 implicitly_wait()

智能等待時間,是針對全局的元素都生效,不需要導入包。當在規定時間內找到了對應元素,則執行下一步操作。

隱等待時間使用語法: 網頁對象名.implicity_wait()
from selenium import webdriver
from time import sleep #導入強制等待時間的包
from selenium.webdriver.support.ui import WebDriverWait #導入顯示等待時間的包
dr = webdriver.Firefox()
dr.maximize_window()
dr.implicitly_wait(5) #隱式時間等待,智能等待,針對於全局
dr.get(“https://www.baidu.com”)
sleep(2) #休眠2s
a = WebDriverWait(dr,10,2).until(lambda x:x.find_element_by_id(“kw”)) #顯示等待時間,針對於單個元素進行時間的等待
a.send_keys(“123”)
#總結:只針對一個元素進行時間的等待,要是找不到該元素則會一直消耗完所有的等待時間才進行下一步

二、定位alert彈出框

alert彈出框包含三種:
alert 提醒對話框
confirm 確認對話框
prompt 要求用戶輸入,然後返回結果的對話框

1、定位方法

switch_to.alert:定位到alert/confirm/prompt
text:返回alert/confirm/prompt 中的文字信息。
accept:點擊確認按鈕。
dismiss:點擊取消按鈕,如果有的話。
send_keys:輸入值,這個alert\confirm 沒有對話框就不能用了,不然會報錯。

2、alert用法

在這裏插入圖片描述
3、confirm用法

在這裏插入圖片描述
4、prompt用法

在這裏插入圖片描述

接口測試推薦使用國產接口測試和接口文檔生成工具:apipost

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章