Android自動化測試之——MonkeyRunner(3)
阿新 • • 發佈:2018-12-06
本文主要介紹MonkeyDevice的方法。
上文中,使用MonkeyRunner方法連線裝置並返回一個MonkeyDevice物件,使用該物件呼叫MonkeyDevice方法可實現對裝置的操作。主要包括:點選、拖拽、截圖、按鍵、輸入內容
一、常量
MonkeyDevice的touch()、press()、type()方法,需要用到這些常量
- DOWN:按下事件,touch()、press()方法用到
- UP:擡起事件,touch()、press()方法用到
- DOWN_AND_UP:按下馬上擡起,touch()、press()、type()三個方法用到
二、MonkeyDevice方法
1、startActivity()
開啟應用
device.startActivity("com.android.browser/.BrowserActivity")
2、touch(integer x, integer y, integer tpye)
點選某個座標點,傳送事件。以下兩種方式都可以
device.touch(200,300,MonkeyDevice.DOWN_AND_UP) device.touch(200,300,'DOWN_AND_UP')
3、press(string name, dictionary type)
傳送指定型別指定鍵碼的事件
#按下HOME鍵 device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP) #按下BACK鍵 device.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP)
KeyCode:
home鍵: KEYCODE_HOME back鍵: KEYCODE_BACK 撥號鍵: KEYCODE_CALL 結束通話鍵: KEYCODE_ENDCALLdevice.type("zhuting")
5、installPackage(string path)
device.installPackage('D:\\apk\\taobao.apk') # 安裝包
6、removePackage(string package)
device.removePackage('com.tencent.mm') # 解除安裝包
7、takeSnapshot()
image1 = device.takeSnapshot()
8、reboot()
device.reboot() # 重啟系統
9、wake()
喚醒螢幕
10、drag(tuple start, tuple end, float duration, integer steps)
在這個裝置的螢幕上模擬拖動手勢(觸控、保持和移動)
start:開始座標
end: 結束座標
duration :拖動持續時間(以秒為單位),預設1.0秒
steps: 插值點時要採取的步驟。預設值是10
device.drag((200,600),(200,300),0.1,10) # 可實現滑動操作,上滑操作
附demo1.py
#encoding:utf-8 from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage #連線裝置 device = MonkeyRunner.waitForConnection(3,'emulator-5554') MonkeyRunner.sleep(2) print('connect device success') ''' #安裝應用 device.installPackage('D:\\apk\\taobao.apk') print('install taobao') MonkeyRunner.sleep(5) #解除安裝應用 device.removePackage('com.tencent.mm') print('uninstall taobao') MonkeyRunner.sleep(5) ''' #開啟應用,開啟瀏覽器 device.startActivity("com.android.browser/.BrowserActivity") print('open browser') MonkeyRunner.sleep(5) #點選網址框 device.touch(200,80,"DOWN_AND_UP") MonkeyRunner.sleep(2) #輸入網址 device.type("www.baidu.com") device.touch(124,151,"DOWN_AND_UP") MonkeyRunner.sleep(5) #點選搜尋框 device.touch(100,370,"DOWN_AND_UP") MonkeyRunner.sleep(2) device.type("zhuting") MonkeyRunner.sleep(2) device.touch(390,162,"DOWN_AND_UP") #點選搜尋 MonkeyRunner.sleep(5) #截圖 image = device.takeSnapshot() image.writeToFile('E:\\autoTest\\test_02.png','png') #儲存截圖 MonkeyRunner.sleep(5) #HOME鍵 device.press("KEYCODE_HOME","DOWN_AND_UP") MonkeyRunner.sleep(2) device.drag((450,500),(50,500),0.5,10) # 可實現滑動操作,左滑 MonkeyRunner.sleep(5) device.press('KEYCODE_POWER',MonkeyDevice.DOWN_AND_UP) # 電源鍵休眠 MonkeyRunner.sleep(2) device.wake() # 喚醒裝置 #重啟系統 device.reboot()