我正在尝试使用UIAutomator滚动。方案是我进入选项卡中的“设置”菜单,然后单击“应用程序”选项,这些选项为我提供了选项卡中所有应用程序的列表。不,我想滚动应用程序列表,这是我面临的问题。它滚动设置选项而不是应用程序列表。我附上了一个屏幕截图和我的代码。
UiScrollable scroll = new UiScrollable(
new UiSelector().scrollable(true));
scroll.setAsVerticalList();
UiObject Apps = scroll.getChildByText(new UiSelector()
.className(android.widget.TextView.class.getName()),
"Apps");
Apps.clickAndWaitForNewWindow();
UiObject Locker = scroll.getChildByText(new UiSelector().className(android.widget.TextView.class.getName()),"Content Locker");
Locker.clickAndWaitForNewWindow();
答案 0 :(得分:3)
我也是UiAutomator的新手,并且没有太多的教程可供学习。我在这里使用了Smrti示例,但是有些事情已经被弃用了,所以我纠正了一下以使一切正常。这就是我得到的
UiDevice mDevice = UiDevice.getInstance(getInstrumentation());
mDevice.pressHome();
UiObject allAppsButton = mDevice
.findObject(new UiSelector().description("Apps"));
allAppsButton.clickAndWaitForNewWindow();
UiScrollable appViews = new UiScrollable(new UiSelector().scrollable(true));
appViews.scrollIntoView(new UiSelector().text("Settings"));
mDevice.findObject(new UiSelector().text("Settings")).clickAndWaitForNewWindow();
mDevice.findObject(new UiSelector().text("Apps")).click();
我没有在此处搜索某个应用,我相信您可以像在我的代码段中搜索“设置”应用一样管理它。
答案 1 :(得分:2)
假设我想点击应用程序Facebook,它位于设置下的应用程序列表中。
你可以使用它 -
getUiDevice().pressHome();
allAppsButton = new UiObject(new UiSelector().description("Apps"));
allAppsButton.click();
appViews = new UiScrollable(new UiSelector().scrollable(true));
appViews.setAsHorizontalList();
selector = new UiSelector().className(android.widget.TextView.class.getName());
appToLaunch = appViews.getChildByText(selector, "Settings");
if (appToLaunch != null)
appToLaunch.clickAndWaitForNewWindow();
new UiObject(new UiSelector().text("Apps")).click();
UiScrollable appViews1 = new UiScrollable(newUiSelector().scrollable(true));
appViews1.scrollForward();
appViews1.scrollTextIntoView("Facebook");
new UiObject(new UiSelector().text("Facebook")).click();
这应该有用。