public static void main(String[] args) throws Exception { // 获取adb连接 AdbDevice device = new AdbDevice(); // 获取设备信息 System.out.println("设备序列号: " + device.getDeviceId()); int[] resolution = device.getScreenResolution(); System.out.println("设备屏幕分辨率: " + resolution[0] + "x" + resolution[1]); System.out.println("设备Android版本: " + device.getAndroidVersion()); System.out.println("设备SDK版本: " + device.getSdkVersion()); System.out.println("设备电池状态: " + device.getBatteryStatus()); System.out.println("设备电池温度: " + device.getBatteryTemp()); System.out.println("设备电池电量: " + device.getBatteryLevel()); // 安装d:\app\ApiDemos.apk device.installApp("d:\\app\\ApiDemos.apk"); // 启动ApiDemos device.startActivity("com.example.android.apis/.ApiDemos"); Thread.sleep(2000); // 获取获取当前应用的包名、类名、包名/类名 System.out.println("package name: " + device.getCurrentPackageName()); System.out.println("activite: " + device.getCurrentActivity()); String component = device.getFocusedPackageAndActivity(); System.out.println("package name/activity: " + component); // 获取当前应用的pid System.out.println("PID: " + device.getPid(device.getCurrentPackageName())); // 退出当前应用 device.quitCurrentApp(); Thread.sleep(1000); // 重新启动应用 device.startActivity(component); Thread.sleep(2000); // 通过元素的text属性定位,点击App>>Dialog>>Single choice list>>Traffic>>OK Position position = new Position(); Element e_text = position.findElementByText("App"); device.tap(e_text); Thread.sleep(1000); Element e_dialog = position.findElementByText("Dialog"); device.tap(e_dialog); Thread.sleep(1000); Element e_single = position.findElementByText("Single choice list"); device.tap(e_single); Thread.sleep(1000); // 通过元素的class定位:Traffic>>OK ArrayList<Element> textViews = position.findElementsByClass("android.widget.CheckedTextView"); device.tap(textViews.get(2)); Thread.sleep(1000); Element e_ok = position.findElementsByClass("android.widget.Button").get(1); device.tap(e_ok); Thread.sleep(1000); // 遍历的点击当前界面所有的button ArrayList<Element> buttons = position.findElementsByClass("android.widget.Button"); for (Element element : buttons) { device.tap(element); Thread.sleep(1000); device.sendKeyEvent(AndroidKeyCode.BACK); } // 点击Text Entry dialog device.tap(buttons.get(buttons.size() - 1)); Thread.sleep(1000); // 需要英文键盘 // 输入Name:test, Password: TEST, 点击OK ArrayList<Element> edits = position.findElementsByClass("android.widget.EditText"); device.tap(edits.get(0)); device.sendText("test"); device.tap(edits.get(1)); device.sendText("TEST"); device.tap(position.findElementByText("OK")); }