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

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

                                        

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

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

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

    最近有一个测试需求,需要重复性的滑动手机.对手机进行触摸.点击操作等,所以就需要实现一个Android模拟人工操作的功能.一开始想写一个APK,但在实现过程中遇上了麻烦,好像需要系统应用权限等,笔者本 ...

  2. 自动化方法模拟Android手机点击、触屏事件

    使用apk来自动化测试,需要手机有root权限,所以采用写java程序,利用adb shell来实现自动化测试. 一.所需知识 最基础的adb shell 指令.input tab 等. 二.所需环境 ...

  3. delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收

    delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收 今天,群里有几位同学讨论这个问题,汇总了一下,分享出来,供同学们学习研究. 一.直接上代码示例 1.屏蔽应 ...

  4. js 原生方法 -- 模拟浏览器的 点击事件

    js 原生方法 – 模拟浏览器的 点击事件 1. 创建自定事件并监听 可看看 MDN 的 Evnet, CustomEvent 对象 <!DOCTYPE html> <html la ...

  5. Android 中Touch(触屏)事件传递机制

    版本:2.0 日期:2014.3.21 2014.3.29 版权:© 2014 kince 转载注明出处 一.基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突.比如在使 ...

  6. android 触摸 事件,Android触屏事件和MotionEvent详解

    Android屏幕操作 屏幕是用户和Android设备交互的主要媒介,屏幕分为触屏和非触屏.Android设备目前有四种类型:Android Phone,Android Tablet,Android ...

  7. 手机当当网触屏版开发之旅

    新年伊始,首先给大家拜个晚年了! :) "一年之计在于春",回到北京感觉比在家暖和多了.总结回顾去年的工作,就要开始着手新的一年的工作了. 从2011年11月18号开始,在PM.U ...

  8. 手机触屏事件(jquery)

    在移动端,点击事件和悬停事件都同统一为点击事件,所以对于手机或者带有触屏的电子设备来说,触屏事件不可忽视,当然,在不可触摸的屏幕上,这写事件就没有作用了. 触摸开始事件:touchstart 当手指放 ...

  9. 手机屏幕失灵,触屏失灵,屏幕划不动急救2

    手机屏幕失灵,触屏失灵,屏幕划不动急救 droidVNC-NG vnc viewer AnLink 最近发现几个软件,配合下就能完美实现电脑控制手机,需要的到官网找下 前两个配合就能用,第三个体验会更 ...

最新文章

  1. SSM登陆拦截器实现
  2. 为线程设置一个名字 [mythread setName:@第一个子线程];
  3. 华为被上汽狂DISS:智能驾驶时代车企呼唤“主权”?
  4. 其实大学老师在剑桥读博士,好像录取不难
  5. PRISM概率模型检测器初使用--骰子模型(改进版)
  6. hmm 求隐藏序列_结巴分词3--基于汉字成词能力的HMM模型识别未登录词
  7. 动态定时任务数据库获取方式
  8. 内核使用硬件ip的dma,dma_alloc_coherent 与 dma_alloc_writecombine (转)
  9. iOS pickerView(所有类型一网打尽)
  10. Netty工作笔记0062---WebSocket长连接开发
  11. JAVA运行时异常及常见的5中RuntimeExecption
  12. cannot be cast to org.springframework.web.method.HandlerMethod 统一异常处理发生异常。
  13. python自动化测试-五大自动化测试的Python框架
  14. 2015-ResNet讲解
  15. 谈谈阿里log4j2事件:严重性是个主观判断
  16. 浙江利捷分析报告(0612)
  17. dagger2简单使用与理解笔记
  18. COCO数据集之gt_overlaps之分析
  19. 开放封闭原则_开放/封闭原则
  20. 测度论中的概率空间,可测空间

热门文章

  1. 手机测试设计测试用例——(1)
  2. 高境三中计算机老师,立德树人奋进担当,教育脱贫托举希望——高境三中热烈庆祝第三十六个教师节...
  3. 在学校计算机上填报志愿,广州小升初电脑派位如何填报志愿?
  4. 怎样选择ADC芯片?
  5. Deepin-TIM / QQ / WeChat调整界面DPI字体大小的方法
  6. 用python画皮卡丘代码-用python画一只可爱的皮卡丘
  7. 年底大标季来袭,一步之遥2.0投标培训班助你实力升级!
  8. nsf5隐写算法 matlab,基于纹理复杂度的JPEG图像自适应隐写
  9. LaTeX 编辑器对比
  10. CPU温度过高解决方法