android monkeyRunner 自動化測試

來源:互聯網
上載者:User

Monkey測試是Android自動化測試的一種手段,Monkey測試本身非常簡單,就是類比使用者的按鍵輸入,觸控螢幕輸入,手勢輸入等,看裝置多長時間會出異常。
當Monkey程式在模擬器或裝置啟動並執行時候,如果使用者出發了比如點擊,觸摸,手勢或一些系統層級的事件的時候,它就會產生隨機脈衝,所以可以用Monkey用隨機重複的方法去負荷測試你開發的軟體.

monkey 無序類比

最簡單的方法就是用用下面的命令來使用Monkey,這個命令將會啟動你的軟體並且觸發100個事件

 

adb shell monkey -p com.example.com.zte.com.testmemory
-vvv 100 > monkey100.txt

monkeyRunner 自訂指令碼

 

事件及API參考文檔:

android-sdk-windows/docs/guide/developing/tools/MonkeyDevice.html

 

 

先使用hierarchyviewer.bat
進行座標定位

,找到解鎖鍵的座標

 

 

安裝至少python2.6以上版本,編寫如下的代碼(先解鎖,再啟動測試的zte.sync.com/.GetLogcat,並)

 

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice

import time

import os

path = "d:/"

newFloder = "97eResult"

new_path = os.path.join(path,newFloder)

#if not os.path.isdir(new_path)

#os.makedirs(new_path)

device = MonkeyRunner.waitForConnection()

device.wake()

#device.touch(240,510,MonkeyDevice.DOWN)

#MonkeyRunner.sleep(3)

#device.touch(240,510,MonkeyDevice.UP)

device.drag((240,510),(444,510),0.1,10)//滑動解鎖

 

device.startActivity(component = "zte.sync.com/.GetLogcat")//開啟應用

result = device.takeSnapshot()//

t = time.strftime("%Y%m%d%X",time.localtime())

t = t.replace(":","-")

result.writeToFile('d:/97eResult/'+t+'.png','png');

 

在命令列中執行

結果如下:

 

 

優點:

針對偶現故障複現代價太大,手動進行這些操作很難有效提高複現效率,而且一系列重複性的工作將很快使人進入疲勞狀態。此時採用自動化工具協助完成這些操作就顯得十分重要,首先可以提高手機操作速度,其次可以延長工作時間,還可以將手機即時狀態記錄下來,有效提高複現效率。

 

 

參考文檔 http://www.cnblogs.com/youxilua/archive/2011/11/12/2246576.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.