使用Java自動化方法模擬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 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章