2016-11-23 59 views
3

我們正在使用Appium 1.5.3。Android上的Appium無法找到在屏幕滾動部分不可見的元素

當Appium啓動我們的應用程序進行測試時,部分應用程序不會滾動到視圖中。 Appium根本無法與這些部分進行交互。

假設我們想要點擊一個當前不在可見部分的按鈕,點擊它的唯一方法是反覆滾動並嘗試點擊。對於所有情況,這不是一個合適的解決方案,我只是用它來描述問題。

我想知道如果我們做錯了什麼,或者如果這是一個已知的Appium限制和如何解決它?

回答

1

它不是Appium的限制,而是它與Android Framework的限制。如果您使用UIAutomator並掃描您的手機屏幕,您會發現UIAutomator僅顯示當前顯示在屏幕上的元素。它不會顯示那些不可見的元素(您需要向上/向下滾動的元素)。

但是,如果您在iOS中嘗試相同,則會注意到iOS會暴露屏幕上的所有元素 - 當前可見元素和需要滾動的元素。所以沒有必要在iOS中滾動

對此沒有解決方法。唯一的選擇是向上/向下滾動並將要處理的元素放在可見屏幕上。

Appium提供了幫助您在屏幕上滾動的許多選項 -

driver.swipe(startX, startY, endX, endY, duration); 

TouchAction

TouchAction touchAction = new TouchAction(driverMobile); 
touchAction.press(startX, startY).moveTo(endX, endY).release().perform(); 

隨着TouchActions,您可以滾動使用座標或在屏幕上的元素。