Android(Linux)類比按鍵、觸控螢幕等事件

來源:互聯網
上載者:User

標籤:android   觸控螢幕   自動化測試   

前提:

在我們應用程式或者在寫Android自動化測試時候常常會需要類比實體按鍵,來給我們做測試用。這也是我要整理的目的。主要的涉及的是Linux Input Event事件。以下的例子基於Android 5.1(Linux-3.10)。

一、利用getevent、sendevent類比按鍵

(1)命令:getevent -t
結果:

...add device 6: /dev/input/event9    bus:      0000    vendor    0000    product   0000    version   0000    name:     "msm8994-snd-card Button Jack"    location: "ALSA"    id:       ""    version:  1.0.1    events:      KEY (0001): 0100  0101  0102  0103  0104  0105  0106  0107     input props:      <none>  ... 

得知:我們所要的耳機按鍵的對應的input事件是event9。

(2)命令:getevent -t /dev/input/event9,使用按耳機按鍵預先擷取耳機事件資訊
結果:

按鍵按下:0001 00e2 000000010000 0000 00000000松下按鍵:0001 00e2 000000000000 0000 00000000

(3)使用sendevent命令類比觸發線控按鍵事件

sendevent /dev/input/event9 0001 00e2 00000001sendevent /dev/input/event9 0000 0000 00000000**這個之間要延時500ms~1s,不然會被系統誤認為是誤觸發的**sendevent /dev/input/event9 0001 00e2 00000000sendevent /dev/input/event9 0000 0000 00000000

註:只要是input的事件都是可以用sendevent來類比,但有時候就力不從心了如類比觸控螢幕的滑動,如果用sendevent就需要大量的命令來類比。這時可以用input命令來代替。

二、利用input命令實現類比按鍵、觸控螢幕操作

(1)類比按鍵
命令:input keyevent {索引值}
已知Android手機音量+(KEYCODE_VOLUME_UP)的索引值是24,那使用
input keyevent 24就可類比按下音量+鍵。更多的索引值見附件1。

(2)類比觸控螢幕操作(點按、滑動)
命令:input swipe {起始點x軸值} {起始點y軸值} {終點x軸值} {終點y軸值} {滑動時間[可忽略]},時間單位:ms
例如:從x=100,y=500,滑到x=600,y=500,時間100ms
input swipe 100 500 600 500 100

命令:input tap {x軸值} {y軸值}
例如:點擊x=100,y=500這個點,類比點擊APP表徵圖開啟應用
input tap 100 500

附件1






著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Android(Linux)類比按鍵、觸控螢幕等事件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.