Android monkeyrunner自動(dòng)化測(cè)試
monkeyrunner測(cè)試主要是通過編寫一個(gè)Python程序去安裝一個(gè)Android應(yīng)用程序或測(cè)試包,運(yùn)行它,向它發(fā)送模擬擊鍵,截取它的用戶界面圖片,并將截圖存儲(chǔ)于工作站上。由于SDK是舊版本,暫時(shí)無法獲取自定義屏幕上的組件焦點(diǎn),所以通過截取屏幕的方式獲取組件的位置坐標(biāo),然后利用觸摸的方式點(diǎn)擊組件。
關(guān)于monkeyrunner自動(dòng)化測(cè)試網(wǎng)上的例子太多了,而且都是轉(zhuǎn)載的,基本上都是對(duì)官方文檔的翻譯,所以遇到很多問題都無法解決。下面附上一些簡單的例子。
#導(dǎo)入程序測(cè)試所需要的模塊 from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice #連接當(dāng)前對(duì)象,返回一個(gè)MonkeyDevice對(duì)象 device = MonkeyRunner.waitForConnection() #安裝所要測(cè)試的android應(yīng)用程序或測(cè)試包 device.installPackage('*******.apk') #運(yùn)行指定的Activity device.startActivity(component='com.mzba.test.TestActivity') #觸摸自動(dòng)登錄復(fù)選框 device.touch(222,388,'DOWN_AND_UP') #觸摸記住密碼復(fù)選框 device.touch(37,421,'DOWN_AND_UP') #觸摸登錄按鈕 device.touch(271,475,'DOWN_AND_UP') #測(cè)試暫停3秒鐘 MonkeyRunner.sleep(3.0) #截取屏幕截圖 result = device.takeSnapshot() #將截圖保存至文件 result.writeToFile('login.png','png') |
不過更新了sdk以后,發(fā)現(xiàn)press方法無法使用了,報(bào)錯(cuò)如下:
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP') TypeError: press: The 3rd argument is required
所以要換成另一種方法:
device.press('KEYCODE_DPAD_DOWN', MonkeyDevice.DOWN_AND_UP) 更新了SDK的版本,增加了EasyMonkeyDevice的相關(guān)類,已經(jīng)可以利用控件的id來進(jìn)行交互。 from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice from com.android.monkeyrunner.easy import EasyMonkeyDevice from com.android.monkeyrunner.easy import By device = MonkeyRunner.waitForConnection() easy_device = EasyMonkeyDevice(device) easy_device.startActivity(component='com.xuanwu.etion/.SplashActivity') #輸入用戶名 device.type('mzba') #觸摸密碼框,相當(dāng)于獲取焦點(diǎn) easy_device.touch(By.id('id/login_edit_pwd'), MonkeyDevice.DOWN_AND_UP) #輸入密碼 device.type('888888') #按下返回鍵,相當(dāng)于關(guān)閉輸入法的彈出框 device.press('KEYCODE_BACK', MonkeyDevice.DOWN_AND_UP) #easy_device.touch(By.id('id/login_edit_account'), MonkeyDevice.DOWN_AND_UP) #點(diǎn)擊登錄按鈕 easy_device.touch(By.id('id/login_btn'), MonkeyDevice.DOWN_AND_UP) |
附上官方文檔:
http://develo...concepts.html
posted on 2013-12-20 09:23 順其自然EVO 閱讀(332) 評(píng)論(0) 編輯 收藏 所屬分類: android