1. 程式人生 > >python 怎樣獲取toast?

python 怎樣獲取toast?

toast是什麼?

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

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

答案就是:採用Xpath + text 進行定位

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

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

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

1.安卓版本要在5.0以上

2.設定  desired_caps['automationName'] = 'Uiautomator2'

3.判斷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提示資訊對不對,一個字都不能錯啊,不然找不到的,我就是因為一個文字寫錯,糾結了好幾天都不知道是什麼原因,淚奔,終於有人指出了我的問題,改好就找到了。