appium元素等待(1)

2021-08-21 19:58:02 字數 1547 閱讀 7722

在自動化過程中,受網路環境、裝置效能等等原因影響,元素載入成功展示的時間可能不一致,從而導致元素定位超時未成功定位到而報錯,但是實際上元素是正常的,只是載入時間不一致而已。

元素等待有三種:強制等待、隱式等待、顯示等待

使用方法sleep

語法:

步驟1:匯入方法

步驟2:輸入等待時長,預設以秒為單位

針對所有元素來設定等待的時間,直接引用implicitly()即可

語法:直接輸入指令碼driver.implicitly(5)  #數字是等到超時時間,預設以秒為單位

針對某個元素來設定等待的時間、

語法:

步驟1:匯入webdriver模組

步驟2:輸入等待時長,預設以 秒為單位

詳細格式:

webdriverwait(driver, timeout, poll_frequency=0.5, ignored_exceptions=none)
說明:driver - webdriver 的驅動程式(ie, firefox, chrome 或遠端)

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

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

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

其他:

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

until(method, message=』』)

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

until_not(method, message=』』)

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

lambda

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

示例:

lambda函式簡要說明:

lambda函式是匿名的,所謂匿名函式,通俗的說是沒有名字的函式

冒號左側是引數,多個引數則使用逗號隔開

冒號右側是返回值

例如:

lambda x,y:x*y     函式的輸入是x,y;輸出是x*y

appium等待元素

thread.sleep 60000 強制等待60s driver.manage timeouts implicitlywait 30,timeunit.seconds 全域性等待30s不管元素是否已經載入 1 當使用了隱式等待執行測試的時候,如果webdriver沒有在dom中找到元素,將繼續等待...

appium 元素定位

查詢控制項的方式 1.通過id查詢 self.driver.find element by id com.guokr.mentor id text view topic title self.driver.find elements by id 0 2.通過name查詢 self.driver.fi...

appium三種等待方式

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