1.获取UiDevice实例,模拟对Device的一系列的操作
mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
//从home开始
mDevice.pressHome();
// Wait for launcher等待launcher
final String launcherPackage = mDevice.getLauncherPackageName();
assertThat(launcherPackage, notNullValue());
mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)),
LAUNCH_TIMEOUT);
// 从launcher启动app
Context context = InstrumentationRegistry.getContext();
final Intent intent = context.getPackageManager()
.getLaunchIntentForPackage();//参数为app包名
// Clear out any previous instances
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(intent);
// 等待启动LAUNCH_TIMEOUT = 5000
mDevice.wait(Until.hasObject(By.pkg(BASIC_SAMPLE_PACKAGE).depth(0)),
LAUNCH_TIMEOUT);
//确定 按钮
UiObject searchBtn = mDevice.findObject(new UiSelector().resourceId("按钮id"));
//list
UiSelector mainSelect = new UiSelector().resourceId("列表id");
//选择list
UiSelector listSelect = mainSelect.childSelector(new UiSelector().className("list name"));
//通过index和classname确定
UiSelector btnAreaSelect = listSelect.childSelector(new UiSelector().index(1).className("android.widget.FrameLayout"));
//确定按钮
UiObject hotelbtn = mDevice.findObject(btnAreaSelect);
//列表
UiSelector hotelListSelect = new UiSelector().className("android.widget.ListView");
UiCollection hotelCollection = new UiCollection(hotelListSelect);