使用Java自动化方法模拟Android手机点击、触屏事件
2017-11-30 17:14
344 查看
最近有一个测试需求,需要重复性的滑动手机、对手机进行触摸、点击操作等,所以就需要实现一个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
注:4/5/6/7为人工输入,只是方便读者体验adb shell的功能。这4步使用程序可代替人工操作。
总结:
上述内容可实现使用Java自动化控制Android手机达到控制手机的功能,附件代码中结合了JavaSwing实现了窗体化,与本文无关,可忽略。代码及platform-tools已上传。下载地址:http://download.csdn.net/download/fanguoddd/10139597
想设置资源分为0还不行。。。(建议看完代码逻辑后再运行,否则容易停不住。。)。欢迎大家在评论区交流。
最后,打波广告。微信搜索公众号"省钱潮",公众号微信号:IT20151230 淘宝购物领券,专为你省钱。
一、所需知识
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
注:4/5/6/7为人工输入,只是方便读者体验adb shell的功能。这4步使用程序可代替人工操作。
总结:
上述内容可实现使用Java自动化控制Android手机达到控制手机的功能,附件代码中结合了JavaSwing实现了窗体化,与本文无关,可忽略。代码及platform-tools已上传。下载地址:http://download.csdn.net/download/fanguoddd/10139597
想设置资源分为0还不行。。。(建议看完代码逻辑后再运行,否则容易停不住。。)。欢迎大家在评论区交流。
最后,打波广告。微信搜索公众号"省钱潮",公众号微信号:IT20151230 淘宝购物领券,专为你省钱。
相关文章推荐
- PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机)
- Android 控件使用Animator动画后,点击事件失效解决方法
- 使用Android提供的模拟任意地理位置,报java.lang.IllegalArgumentException: Incomplete location object异常的解决方法
- android ADB 模拟手机点击事件
- Android 使用代码主动去调用控件的点击事件(模拟人手去触摸控件)
- PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机)
- Java接口的学习———并用接口模拟一个Android的按钮点击事件
- 使用Android提供的模拟任意地理位置,报java.lang.IllegalArgumentException: Incomplete location object异常的解决方法
- 使用android模拟事件,python完成自动化测试
- Android中封装View提供接口供点击事件回调的方法及使用
- 转:Android随笔之——使用Root权限实现后台模拟全局按键、触屏事件方法(类似按键精灵)
- Android中performClick方法---代码调用点击事件(模拟去触摸控件)
- Java模拟Android View OnClickListener点击事件
- Java,Jsp点击事件后,出现等沙漏,处理等待状态时,有提示在动,适合任何事件使用
- android 获取手机中所有的传感器Sensor类使用方法
- Android 使用html做UI的方法---js与java的相互调用
- Android中的使用ListView控件显示List集合中的数据,并对Item响应选择事件(方法二)
- Android加载手机磁盘上的资源---decodeFile方法的使用
- Android Instrumentation模拟鼠标点击事件
- android SensorSimulator 使用传感器模拟器模拟手机中的传感器