【问题标题】:Android native app: cannot scroll through the entire list which has around 200 elements (appium java client)Android本机应用程序:无法滚动包含大约200个元素的整个列表(appium java客户端)
【发布时间】:2015-02-08 23:15:03
【问题描述】:

我正在使用 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);

【问题讨论】:

  • “自动化 Android 原生应用程序”——你是什么意思?你如何自动化应用程序?

标签: java javascript android appium


【解决方案1】:

HI NRM 以下解决方案仅适用于 ANDROID NATIVE APP 我的理解是,你想在列表表单中滚动到顶部(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)\")");

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

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

YourLastElement (Z) = 请在此处输入 M 元素的描述

【讨论】:

    猜你喜欢
    • 2019-12-10
    • 2019-01-03
    • 2019-09-04
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多