使用 UIAutomatorViewer 编写更复杂的测试
为了能够编写更复杂的 UI 测试,需要使用 UIAutomatorViewer 。位于 / tools /的工具会生成一个全屏截图,其中包括当前显示视图的布局。请参阅后续图片以了解所显示的内容:
对于 UI 测试,我们正在寻找 resource-id , content-desc 或其他东西来识别视图并在我们的测试中使用它。
所述 uiautomatorviewer 经由终端执行。
如果我们现在想要点击应用程序按钮,然后打开一些应用程序并向左滑动,这就是测试方法的样子:
public void testOpenMyApp() throws Exception {
// wake up your device
device.wakeUp();
// switch to launcher (hide the previous application, if some is opened)
device.pressHome();
// enter applications menu (timeout=200ms)
device.wait(Until.hasObject(By.desc(("Apps"))), 200);
UiObject2 appsButton = device.findObject(By.desc(("Apps")));
assertNotNull(appsButton);
appsButton.click();
// enter some application (timeout=200ms)
device.wait(Until.hasObject(By.desc(("MyApplication"))), 200);
UiObject2 someAppIcon = device.findObject(By.desc(("MyApplication")));
assertNotNull(someAppIcon);
someAppIcon.click();
// do a swipe (steps=20 is 0.1 sec.)
device.swipe(200, 1200, 1300, 1200, 20);
assertTrue(isSomeConditionTrue)
}