使用Java自動化方法模擬Android手機點擊、觸屏事件

  最近有一個測試需求,須要重複性的滑動手機、對手機進行觸摸、點擊操做等,因此就須要實現一個Android模擬人工操做的功能。一開始想寫一個APK,但在實現過程當中趕上了麻煩,好像須要系統應用權限等,筆者自己並非作Android開發的,因此就沒有實現。最後是經過adb shell 實現了該功能。Java開啓線程,結合鍵盤和鼠標事件,使用adb shell控制手機。詳解以下。java


  1、所需知識shell


一、最基礎的adb shell 指令。input tab 等。windows

二、Java自動化基礎知識。java.awt.Robotide

三、無工具

2、所需環境測試

硬件:一臺電腦、一部手機、一根數據線。軟件:jdk、adb工具編碼

3、編碼線程

一、Java模擬鼠標點擊操做方法調試


//實現鼠標左鍵點擊操做orm


public static void pressMouse(Robot r,int m,int delay){

r.mousePress(m);

r.delay(10);

r.mouseRelease(m);

}


二、Java模擬鼠標移動操做


//實現將鼠標移動到電腦屏幕 x=518,y=339的位置


Robot rb = new Robot();

rb.mouseMove(518,339);

rb.delay(500);


三、Java模擬鍵盤輸入操做


public static void pressKey(Robot robot,int keyEvent){

        robot.keyPress(keyEvent);  

        robot.keyRelease(keyEvent);  

        robot.delay(50);

}


//該代碼可實現輸出「a」


pressKey(rb,KeyEvent.VK_A);


四、簡單的adb指令


adb shell   //進入shell


input tab 980 900   //點擊手機 x=980  y=900處


input swipe 540 480 540 190  //手機向上滑動290像素


input keyevent 4 //返回


五、開啓Java線程


new Thread(){


Robot rb = new Robot();

        public void run() {  

                while (true) {


//to do


} }


4、使用方法


經過上述4個方法已經可以實現使用Java自動化控制Android手機達到控制手機的目的。具體使用方法以下:


一、打開cmd(windows 控制檯)


二、cd  到  platform-tools文件夾(該文件可經過附件下載)下


三、打開手機開發者選項並開啓USB調試選項(各手機型號開啓不同,可自行百度)


四、輸入 adb shell


五、輸入 input tab 980 900


六、輸入 input swipe 540 480 540 190


七、輸入 input keyevent 4 

相關文章
相關標籤/搜索