Appium的三種等待時間設定方法

2022-02-18 22:25:06 字數 1665 閱讀 4080

#參考了網上的資料,然後進行了梳理

#第一種 sleep(): 設定固定休眠時間。 python 的 time 包提供了休眠方法 sleep() , 匯入 time包後就可以使用 sleep()進行指令碼的執行過程進行休眠。

#匯入 time 包

import time

time.sleep()

#第二種 implicitly_wait():是 webdirver 提供的乙個超時等待。隱的等待乙個元素被發現,或乙個命令完成。如果超出了設定時間的則丟擲異常。

#implicitly_wait():隱式等待

#當使用了隱式等待執行測試的時候,如果 webdriver沒有在 dom中找到元素,將繼續等待,超出設定時間後則丟擲找不到元素的異常

#換句話說,當查詢元素或元素並沒有立即出現的時候,隱式等待將等待一段時間再查詢 dom,預設的時間是0

#一旦設定了隱式等待,則它存在整個 webdriver 物件例項的宣告週期中,隱式的等到會讓乙個正常響應的應用的測試變慢,

#它將會在尋找每個元素的時候都進行等待,這樣會增加整個測試執行的時間。

#implicitly_wait()方法比 sleep() 更加智慧型,後者只能選擇乙個固定的時間的等待,前者可以在乙個時間

#範圍內智慧型的等待。

self.driver.implicitly_wait()

#第三種  webdriverwait():同樣也是 webdirver 提供的方法。在設定時間內,預設每隔一段時間檢測一次當前。頁面元素是否存在,如果超過設定時間檢測不到則丟擲異常。

'''詳細格式如下:

webdriverwait(driver, timeout, poll_frequency=0.5, ignored_exceptions=none)

driver - webdriver 的驅動程式(ie, firefox, chrome 或遠端)

timeout - 最長超時時間,預設以秒為單位

poll_frequency - 休眠時間的間隔(步長)時間,預設為 0.5 秒

ignored_exceptions - 超時後的異常資訊,預設情況下拋 nosuchelementexception 異常。

webdriverwait()一般由 until()或 until_not()方法配合使用,下面是 until()和 until_not()方法的說明。

until(method, message=』』)

呼叫該方法提供的驅動程式作為乙個引數,直到返回值不為 false。

until_not(method, message=』』)

呼叫該方法提供的驅動程式作為乙個引數,直到返回值為 false。

lambda

lambda 提供了乙個執行時動態建立函式的方法。'''

三種等待時間

強制等待是等待固定的時間 from selenium import webdriver from time import sleep d webdriver.chrome sleep 2 d.get 顯示等待如果該元素不在顯式等待時間範圍內它將使用由隱式等待定義的時間幀在丟擲異常 from sele...

appium三種等待方式

第一種 sleep 設定固定休眠時間。python 的 time 包提供了休眠方法 sleep 匯入 time包後就可以使用 sleep 進行指令碼的執行過程進行休眠。匯入 time 包 import time time.sleep 第二種 implicitly wait 是 webdirver 提...

Appium筆記 三種等待

等待方法 import time 強制等待2s time.sleep 2 全域性等待10s self.driver.implicitly wait 10 from selenium.webdriver.support.ui import webdriverwait webdriverwait dri...