python 怎樣獲取toast?


toast是什么?

  想要獲取toast的小伙伴們,肯定知道這個是一個什么玩意,例行還是加一個圖,加以解釋,下圖的就是傳說中的toast,它有一個特點,出現時間特別短,很難通過定位元素去獲取這個toast。

  

 

通過XPTH + Contains +text 來定位toast

 

 

  不能通過明確的元素定位來獲取,那要怎么獲取到toast呢?在做app自動化的時候,toast出現率非常高,所以必須要獲取到toast,方便后面的斷言。那要怎么通過什么方式獲取呢?

  答案就是:采用Xpath + contains + text 進行定位,不能定位到具體的元素,所以只能通過顯示的text來找了

   //*[contains(text(),"賬號或密碼不能為空")]

python -appium -真機 是怎樣工作的?

  知道通過什么方式獲取之前,我們還需要知道 python  -》appium + 真機或模擬機 是怎樣工作的?

需要獲取到toast的前提條件:

  • 安卓版本要在5.0以上
  • 設置  desired_caps['automationName'] = 'Uiautomator2'
  • 判斷toast是否存在:presence_of_element_located(注意不能使用visibility_of_element_located)

  

 

 

檢查是否必須的兩個文件:

  在模擬器或真機會生成兩個用來獲取toast的文件,檢查一下模擬機或真機有沒有這兩個文件

  

貼上最后的實現的代碼:如果toast出現的時間很短,需要將等待時間的輪詢的時間調小

WebDriverWait(driver, 8, 0.2).until(EC.presence_of_element_located((MobileBy.XPATH, '//*[contains(@text,"xxxx")]')))

 

 

最后給大家一個提示:前置條件都設置好了,模擬器或真機也有那兩個獲取toast的文件了,就要檢查寫的toast提示信息對不對,一個字都不能錯啊,不然找不到的,我就是因為一個文字寫錯,糾結了好幾天都不知道是什么原因,淚奔,終於有人指出了我的問題,改好就找到了。

 


免責聲明!

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



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