最近有一个测试需求,需要重复性的滑动手机、对手机进行触摸、点击操作等,所以就需要实现一个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

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

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

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

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

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

  3. 小米电脑桌面没见计算机怎么办,手机屏幕太小?一分钟教会你小米手机投屏电脑方法,低调收藏!...

    原标题:手机屏幕太小?一分钟教会你小米手机投屏电脑方法,低调收藏! 我们平时在使用小米手机的时候,是不是觉得屏幕有点小,如果玩游戏的时候可以大屏就好了,如果看视频的时候可以大屏就好了!会议上分享手机里 ...

  4. python控制手机屏幕亮度的软件_Python脚本利用adb进行手机控制

    Python脚本利用adb进行手机控制 一. adb 相关命令:1. 关闭adb服务:adb kill-server2. 启动adb服务 adb start-server3. 查询当前运行的所有设备 ...

  5. 按键手机怎么装java_怎样把USB键盘接到Android手机上

    我是Swype, SlideIT等类似这种高端Android输入键盘的脑残粉,不过今天我想谈论的是由各种触键组成的实体键盘.对,就是那种物理键盘--我们曾用过这些笨重的东西,在咔嗒咔嗒的声响中疯狂敲击 ...

  6. 手机触屏事件(jquery)

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

  7. 手机变砖修复神器之 8 个的 Android手机系统修复工具

    如果您经常在 Android 设备上遇到问题,则需要找到最好的 Android 系统修复应用程序并使用它来一劳永逸地解决您的问题.如果您不确定执行此操作的好应用是什么,我们在这里为您列出了一些最好的 ...

  8. Unity Android手机触屏事件

    一: 下面先说经常用的三个事件 手指按下.手指移动.手指松开 1. 手指按下 if(input.touchCount==1) {if(input.touches[0].phase==TouchPhas ...

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

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

最新文章

  1. python第九章:面向对象--小白博客
  2. 学界 | DeepMind论文解读:通过删除神经元来了解深度学习
  3. [C#]用Forms.TreeView显示Icon会有黑边
  4. 机器人也会骑车?日本村田顽童来京秀车技
  5. Revit API: Material 材质
  6. 1008.判断闰年1.能被4整除而不能被100整除。(如2100年就不是闰年) 2.能被400整除。
  7. 达梦数据库DM8安装配置和使用
  8. python之jieba分词库
  9. 多线程总结--小码哥java
  10. 6月26日云栖精选夜读:成为一名Java高级工程师你需要学什么
  11. 在线语音转文字如何进行在线转换的
  12. arm_neon.h文件ABI说明
  13. swagger 界面_使用Swagger和Scalatra进行界面驱动的开发简介
  14. 荣耀V40最新消息 升级系统该如何更新
  15. java i o设计模式_成都汇智动力-Java I/O的设计模式
  16. 使用SSM框架开发企业级应用——北大青鸟ACCP8.0总结
  17. Latex 图片插入、引用
  18. 李阳疯狂英语突破对话(44)-这很容易
  19. 《坦克世界》* 使用并发渲染提升多核性能
  20. phh mysql语法_MySQL PHP 语法

热门文章

  1. 火绒杀毒-史上最好用的杀毒软件
  2. 年轻人为什么更喜欢真无线蓝牙耳机?2020五款高性价比蓝牙耳机推荐
  3. Linux 文本处理三剑客应用
  4. html5中audio标签
  5. 电子书 |《阿里巴巴2016双11背后的技术》
  6. Spring Security权限框架简介
  7. HTML取消图片缝隙,怎么去掉图片之间的缝隙?_html/css_WEB-ITnose
  8. 宝塔 开启xdebug_xdebug使用说明
  9. 搭建B2B2C多用户国际版商城系统,快速为外贸企业开拓新市场
  10. RS485的引脚定义