[Appium] 使用Appium過程中遇到的各種坑


以下問題都是以ios為背景:

1.

問題:

Case: 在頁面S1上,點擊元素A后,判讀B元素是否出現。

Detail:一開始通過Appium Inspector, 可以找到B元素,所以直接取該元素的name, 在代碼中寫入findElement(By.name("NameOfB"));

但是case始終運行失敗, 之后打開Appium Inspector, 通過name查找該元素, 發現inspector定位到了另一個非此名的元素上。即使重新刷新頁面去獲取新的dom, 也不起作用。

解決方案:

這種情況非常詭異, 目前不知道是不是Appium的bug。可換一種定位方式,如使用findElement(By.UIAutomation("XXX"))。

2. 

問題:

與web和android相比,在ios上使用appium做自動化速度非常的慢。 

解決方案:

  • 不要使用xpath定位方式。
  • 盡量少用findElement, 如果該值需要在之后繼續使用,可以把它賦值給一個變量。 也就是說盡可能減少與Appium server的交互。

3. 

問題:

因為元素必須先出現在頁面上,才可以使用click/tap方法。所以這里先使用isDisplay()方法判讀該元素出現, 然后點擊該元素。但是測試下來,仍有可能即使isDisplay()返回的結果為true, 該元素還會因為不可見而點擊報錯。

解決方案:

雖然該元素的isDisplay()返回了true,但是該元素的中心點可能仍然不在屏幕上。 tap方法其實點擊的就是元素的中心點。可以使用swipe方法再滑動一下屏幕讓這個元素完全顯示在屏幕上。


免責聲明!

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



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