新手學appium-appium的等待時間


 1 #三種appium設置等待時間的方法
 2 #作者:Mr.Dantes QQ:79523822
 3 
 4 #第一種 sleep(): 設置固定休眠時間。 python 的 time 包提供了休眠方法 sleep() , 導入 time包后就可以使用 sleep()進行腳本的執行過程進行休眠。
 5 #導入 time 包
 6 import time
 7 time.sleep()
 8 
 9 #第二種 implicitly_wait():是 webdirver 提供的一個超時等待。隱的等待一個元素被發現,或一個命令完成。如果超出了設置時間的則拋出異常。
10 #implicitly_wait():隱式等待
11 #當使用了隱士等待執行測試的時候,如果 WebDriver沒有在 DOM中找到元素,將繼續等待,超出設定時間后則拋出找不到元素的異常
12 #換句話說,當查找元素或元素並沒有立即出現的時候,隱式等待將等待一段時間再查找 DOM,默認的時間是0
13 #一旦設置了隱式等待,則它存在整個 WebDriver 對象實例的聲明周期中,隱式的等到會讓一個正常響應的應用的測試變慢,
14 #它將會在尋找每個元素的時候都進行等待,這樣會增加整個測試執行的時間。
15 
16 #implicitly_wait()方法比 sleep() 更加智能,后者只能選擇一個固定的時間的等待,前者可以在一個時間
17 范圍內智能的等待。
18 self.driver.implicitly_wait()
19 
20 #第三種  WebDriverWait():同樣也是 webdirver 提供的方法。在設置時間內,默認每隔一段時間檢測一次當前。頁面元素是否存在,如果超過設置時間檢測不到則拋出異常。
21 '''詳細格式如下:
22 WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
23 driver - WebDriver 的驅動程序(Ie, Firefox, Chrome 或遠程)
24 timeout - 最長超時時間,默認以秒為單位
25 poll_frequency - 休眠時間的間隔(步長)時間,默認為 0.5 秒
26 ignored_exceptions - 超時后的異常信息,默認情況下拋 NoSuchElementException 異常。
27 WebDriverWai()一般由 until()或 until_not()方法配合使用,下面是 until()和 until_not()方法的說明。
28 until(method, message=’’)
29 調用該方法提供的驅動程序作為一個參數,直到返回值不為 False。
30 until_not(method, message=’’)
31 調用該方法提供的驅動程序作為一個參數,直到返回值為 False。
32 lambda
33 lambda 提供了一個運行時動態創建函數的方法。'''
34 
35 from selenium.webdriver.support.ui import WebDriverWait
36 element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“someId”))
37 is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).
38 until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM