Android原生应用程序:无法滚动浏览包含大约200个元素的整个列表(appium java客户端)

Android native app: cannot scroll through the entire list which has around 200 elements (appium java client)

本文关键字:列表 appium 客户端 java 元素 200个 应用程序 原生 滚动 包含大 浏览      更新时间:2023-09-26

我正在使用java客户端自动化Android本机应用程序。

本机应用程序有一个带有 ListView 的页面,其中包含更多 200 个元素,其中 textView 对象按字母顺序排列,当我尝试滚动它时,它会滚动直到字母"E",然后应用程序进入后台,@Test结束。

HashMap scrollObject = new HashMap();

RemoteWebElement element = (RemoteWebElement)driver.findElementById(fullListContainer);
JavascriptExecutor js = (JavascriptExecutor) driver;
String widId = ((RemoteWebElement) element).getId();
 //Text for search on the screen
scrollObject.put("text", tvProvidername);
scrollObject.put("element", widId);

js.executeScript("mobile: scrollTo", scrollObject);
嗨,

NRM 下面的解决方案仅适用于安卓原生应用程序我的理解是,您想在列表表单中滚动顶部 (A) 到底部 (Z),但是当您开始滚动时(如果说从第一个元素 = A 滚动到最后一个元素 = Z)滚动开始并滚动到元素 = E,之后被测试的应用程序进入后台并停止测试,如果它是正确的,请尝试以下代码

用于从 A 滚动到底部 Z 元素

driver.findElementByAndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).getChildByDescription(new UiSelector().className('"android.widget.TextView'").instance(0),'" YourLastElement (Z)'")");

您的最后一个元素 (Z) = 请将最后一个元素的描述放在这里

此外,如果您想从顶部元素滚动到所需的元素,例如列表中的 M 只需更改

您的最后一个元素 (Z) = 请将 M 元素的描述放在这里