ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用Java自动化方法模拟Android手机点击、触屏事件

2019-12-01 10:01:58  阅读:1347  来源: 互联网

标签:Java Robot adb rb 手机 input Android 触屏


  最近有一个测试需求,需要重复性的滑动手机、对手机进行触摸、点击操作等,所以就需要实现一个Android模拟人工操作的功能。一开始想写一个APK,但在实现过程中遇上了麻烦,好像需要系统应用权限等,笔者本身并不是做Android开发的,所以就没有实现。最后是通过adb shell 实现了该功能。Java开启线程,结合键盘和鼠标事件,使用adb shell控制手机。详解如下。


  一、所需知识


1、最基础的adb shell 指令。input tab 等。

2、Java自动化基础知识。java.awt.Robot

3、无

二、所需环境

硬件:一台电脑、一部手机、一根数据线。软件:jdk、adb工具

三、编码

1、Java模拟鼠标点击操作方法


//实现鼠标左键点击操作


public static void pressMouse(Robot r,int m,int delay){

r.mousePress(m);

r.delay(10);

r.mouseRelease(m);

}


2、Java模拟鼠标移动操作


//实现将鼠标移动到电脑屏幕 x=518,y=339的位置


Robot rb = new Robot();

rb.mouseMove(518,339);

rb.delay(500);


3、Java模拟键盘输入操作


public static void pressKey(Robot robot,int keyEvent){

        robot.keyPress(keyEvent);  

        robot.keyRelease(keyEvent);  

        robot.delay(50);

}


//该代码可实现输出“a”


pressKey(rb,KeyEvent.VK_A);


4、简单的adb指令


adb shell   //进入shell


input tab 980 900   //点击手机 x=980  y=900处


input swipe 540 480 540 190  //手机向上滑动290像素


input keyevent 4 //返回


5、开启Java线程


new Thread(){


Robot rb = new Robot();

        public void run() {  

                while (true) {


//to do


} }


四、使用方法


通过上述4个方法已经能够实现使用Java自动化控制Android手机达到控制手机的目的。具体使用方法如下:


1、打开cmd(windows 控制台)


2、cd  到  platform-tools文件夹(该文件可通过附件下载)下


3、打开手机开发者选项并开启USB调试选项(各手机型号开启不一样,可自行百度)


4、输入 adb shell


5、输入 input tab 980 900


6、输入 input swipe 540 480 540 190


7、输入 input keyevent 4 


标签:Java,Robot,adb,rb,手机,input,Android,触屏
来源: https://blog.51cto.com/14529380/2455046

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有