Airtest IDE 自動化測試8 - wait 等等元素出現


前言

Airtest 寫app自動化的時候,頁面上的有些元素並不是固定顯示的,有的會等待一定時間才會出現。
於是可以用wait方法等待元素出現,再進一步操作

wait 等待元素

wait方法作用,一直間隔interval秒去查找指定的v對象,直到時間超過timeout后未找到就報TargetNotFoundError錯誤,期間如果每次的間隔查找遇到錯誤就調用intervalfunc方法

wait(v,timeout=TIMEOUT,interval=0.5,intervlfunc=func)
等待設備屏幕上的模板圖片
參數:

  • v :圖片
  • timeout :等待匹配的時間間隔,默認為20s
  • interval :每次匹配的時間間隔,默認0.5秒(單位:秒)
  • intervalfunc :在每次嘗試查找相應匹配失敗后調用func函數

return: 找到圖片則返回(v對象)圖片中心點坐標,否則拋異常:TargetNotFoundError

wait 等待示例

touch 操作元素會在頁面上查找 20 秒,大部分情況下 20 秒是足夠找到元素的,所以一般也不用 wait 方法。
比如啟動app后,啟動頁面會有3秒的廣告(右側啟動app出現的廣告)

不加wait,直接點-我的 按鈕也可以點擊成功

touch 本身也會在頁面上輪詢查找元素,默認20秒找不到,才會報:TargetNotFoundError。
這在前面一篇touch講過https://www.cnblogs.com/yoyoketang/p/14808070.html

也可以在touch之前,先加上wait等待元素出現

在大部分情況下,wait 用不上

timeout 等待超時

什么情況下可以用到 wait 呢?如果頁面元素查找大於20秒的情況,這時候就可以用 wait 等待元素。
timeout 參數可以設置等待時間,如果是針對單個比較特殊的元素,可能元素出現的時間是不固定的,在頁面上大於20秒,可以通過設置timeout 時間來等待久一點

wait 返回 v 對象

wait 方法查找到元素,返回 v 對象,也就是圖片的中心點坐標。
前面的touch 方法傳入參數是 v對象 (或圖片中心點坐標),於是wait 和 touch 是可以結合起來使用的

可以先wait返回一個對象

也可以寫成一行,直接touch 傳 wait 返回的對象

intervalfunc 參數

intervalfunc 參數是在每次嘗試查找相應匹配失敗后調用func函數,這對於一個 listview 頁面需查找到指定元素的時候非常方便。
可以寫個滑動頁面的函數,每次找不到就調用一次滑動頁面,直到找到指定元素為止。


免責聲明!

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



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