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

2021年9月30日 12点热度 0条评论 来源: 男儿何必尽成功

     最近有一个测试需求,需要重复性的滑动手机、对手机进行触摸、点击操作等,所以就需要实现一个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还不行。。。(建议看完代码逻辑后再运行,否则容易停不住。。)。欢迎大家在评论区交流。

没有下载积分的童鞋看这里!!!扫描公众号二维码免费获取。公众号二维码:

                                        

最后,打波广告。微信搜索公众号"购即省",淘宝购物领券,购物即省钱。

 

 

    原文作者:男儿何必尽成功
    原文地址: https://blog.csdn.net/fanguoddd/article/details/78677064
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。