2016-07-26 403 views
1

該項目是一個混合應用程序,它使用cordova在android/ios平臺上運行(現在主要關注ios)。我設法設置了Appium進行自動化測試,並且它工作得很好。問題出現在Appium檢查器中,因爲它可以看到一些元素,但將它們標記爲可見:false。Appium無法檢測屏幕(可見:false)元素

screenshot of visible: false attribute in appium.

測試總是失敗每次嘗試互動時間了(點擊,點擊,的SendKeys等)與這些 '隱形' 的元素。 示例:

driver.findElement(By.xpath(「...」))。click();

日誌中Appium時出現錯誤: screenshot Appium logs

問題:

  • 如何與這些元素進行交互?
  • 將它們標記爲可見的基礎是什麼:false?
  • 有什麼我可以改變我的HTML標記,使元素'可見'真實?

*我注意到我的所有矢量圖標都被標記爲可見:false這是一個巨大的問題,因爲我們大多數的導航都是圖標。

*我已經嘗試將我的Appium版本降級到2.1.0(解決方案建議)。

*我使用Java客戶端Appium 4.0.0,Selenium 2.53.1,Xcode 7.3。

+1

已經使用使用位置driver.tap()方法試過嗎?在我們的代碼中,appium日誌中顯示的錯誤是什麼? – noor

+0

感謝您的回覆。我用我的日誌截圖更新了問題。它不斷返回給我這個錯誤'elementId 0 could not be tapped'。 –

+0

如何使用tap方法,使用元素還是使用locaiton? – noor

回答

0

嘗試通過使用下面2 API:

tap(int fingers, int x, int y, int duration) 

tap(int fingers, WebElement element, int duration) 

使用1作爲INT手指參數x = 3且y = 662的第一API和用於第二遍元素。使用700期

API細節https://appium.github.io/java-client/io/appium/java_client/ ...

+0

它確實有效!謝謝! –

+0

謝謝.... :-) – noor