標籤:解析度 .net 類比點擊 資料 鍵盤事件 tail 輸入框 oid 體系
本文轉載自:http://blog.csdn.net/yuanzihui/article/details/52871652
常用的 input上報命令:
input text 1234 實際向介面注入1234文字,有輸入框,能明顯看到效果
input keyevent 4 鍵盤事件,4 為返回
input tap 100 300 單擊觸屏事件 ,類比點擊x=100 y = 300 位置
input swipe 100 300 500 300 觸屏滑動事件,類比滑動,從x =100
y = 300 滑動到x=500 y=300位置
input press 類比按下軌跡球
input roll 100 300 類比軌跡球滑動 x 方向100 y方向300
擷取座標方法:
第一步:計算比例
adb shell getevent -p | grep -e “0035” -e “0036”
獲得event 體系裡 寬(0035)和高(0036)
以當前我使用的手機為例,命令會輸出如下資訊:
0035 : value 0, min 0, max 1602, fuzz 0, flat 0, resolution 0
0036 : value 0, min 0, max 2503, fuzz 0, flat 0, resolution 0
0035(寬) max 1602
0036(高) max 2503
計算比例(用已知的螢幕解析度,如1080p即:1080(寬) * 1920(高)):
rateW = 1080(手機螢幕的寬) / 1602(event裡0035的max) = 0.674
rateH = 1920(手機螢幕的高) / 2503(event裡0036的max) = 0.767
第二步:點擊螢幕計算點擊位置的座標
adb shell getevent | grep -e “0035” -e “0036”
點擊螢幕上需要的位置,會有如下輸出:
/dev/input/event0: 0003 0035 00000341
/dev/input/event0: 0003 0036 000008ec
把0035和0036後面的位置資料從16進位轉化為10進位
width = 0x341 = 3*16*16 + 4*16 + 1 = 833
height = 0x8ec = 8*16*16 + 14*16 + 12 = 2284
這是在event體系裡的位置,將其轉化為螢幕位置
screenW = width*rateW = 833*0.674 = 561
screenH = height*rateH = 2284*0.767 = 1751
終於算出來了
剛剛點擊的螢幕位置座標就是(561, 1751)
[Android]通過adb shell input上報命令類比螢幕點擊事件【轉】