[Java] Android 自动化测试 根据ID查找对象 →→→→→进入此内容的聊天室

来自 , 2020-10-17, 写在 Java, 查看 114 次.
URL http://www.code666.cn/view/1896a3bf
  1. package com.robot.dream.test;
  2.  
  3. import com.android.chimpchat.adb.AdbBackend;
  4. import com.android.chimpchat.adb.LinearInterpolator.Point;
  5. import com.android.chimpchat.core.IChimpDevice;
  6. import com.android.chimpchat.core.TouchPressType;
  7. import com.android.chimpchat.hierarchyviewer.HierarchyViewer;
  8. import com.android.hierarchyviewerlib.models.ViewNode;
  9.  
  10. public class TestRobotDream {
  11.  
  12.     public static Point getAbsoluteCenterOfView(ViewNode node) {
  13.         Point point = getAbsolutePositionOfView(node);
  14.         return new Point(point.getX() + node.width / 2, point.getY() + node.height / 2);
  15.     }
  16.  
  17.     public static Point getAbsolutePositionOfView(ViewNode node) {
  18.         int x = node.left;
  19.         int y = node.top;
  20.         for(ViewNode p = node.parent; p != null; p = p.parent) {
  21.             x += p.left - p.scrollX;
  22.             y += p.top - p.scrollY;
  23.         }
  24.         return new Point(x, y);
  25.     }
  26.  
  27.     /**
  28.      * @param args
  29.      */
  30.     public static void main(String[] args) {
  31.         System.out.println("start");
  32.         IChimpDevice device = new AdbBackend().waitForConnection();
  33.         System.out.println("device ok");
  34.        
  35.         device.shell("am start com.robot.dream/com.robot.dream.MainActivity");
  36.  
  37.         System.out.println("monkey test connected");
  38.         HierarchyViewer view = device.getHierarchyViewer();
  39.         ViewNode viewNode = view.findViewById("id/center_image");
  40.         //Point p = HierarchyViewer.getAbsoluteCenterOfView(viewNode);
  41.  
  42.         Point p = getAbsoluteCenterOfView(viewNode);
  43.         //EasyMonkeyDevice easyDevice = new EasyMonkeyDevice(null);
  44.  
  45.         System.out.println(" x: "+p.getX() + " y: "+p.getY());
  46.  
  47.         //By.id("");
  48.         //By selector = By.id("");
  49.         System.out.println("touch 1 ok");
  50.         device.touch(p.getX(), p.getY(), TouchPressType.DOWN_AND_UP);
  51.  
  52.         System.out.println("touch 2 ok");
  53.         device.touch(p.getX(), p.getY(), TouchPressType.DOWN_AND_UP);
  54.  
  55.         //easyDevice.touch(selector, TouchPressType.DOWN_AND_UP);
  56.         device.dispose();
  57.  
  58.     }
  59.  
  60. }
  61. //源代码片段来自云代码http://yuncode.net
  62.                        

回复 "Android 自动化测试 根据ID查找对象"

这儿你可以回复上面这条便签

captcha