Android自動化測試之Monkeyrunner從零開始

  1. 用Elipse打開andorid的模擬器或者在CMD中用andorid命令打開模擬器,如下:

  D:\Software\Android SDK2.3\android-sdk-windows\tools>emulator -avd AVD2.3.3

  Comments: 定位到android SDK的路徑下的tools目錄,運行上面這個命令。“AVD2.3.3”是我的模擬器的名字,這個命令是每個人自己命名的,用的時候需改成實際的名字。

  2. 這個時候,如果一切正常的話,模擬器應該可以啓動起來了。(運行monkeyrunner之前必須先運行相應的模擬器,不然monkeyrunner無法連接設備。這點很多教程上都沒有說,我也試了好多次才明白過來)。接着,我們打開另一個CMD窗口(前一個不要關),還是定位到tools目錄,輸入命令"monkeyrunner",回車,將進入shell命令交互模式。

  好了,接下來就可以導入monkeyrunner所要使用的模塊了。當然是我們的"From...import..."

  直接在shell命令中輸入: from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice  回車

  OK,這步完成之後,我們就可以開始和模擬器“勾兌”了,哈哈,命令如下:

  device = MonkeyRunner.waitForConnection()

  沒有報錯的話,就代表和模擬器勾兌成功,我們可以接着“騷擾”它了。接下來,我們可以在裏面裝點東西了。輸入如下命令,並傳入你的apk所在相對路徑即可。我這安裝的是著名的ApiDemos。成功了會返回true。如果沒有返回true,一般都是語法錯誤或者你傳入的相對路徑有問題,仔細檢查下就沒問題了。

  device.installPackage("../samples/android-10/ApiDemos/bin/Apidemos.apk")

  接下來,我們就可以啓動其中的任意activity了,只要傳入package和activity名稱即可。命令如下:

  device.startActivity(component = "com.example.android.apis/com.example.android.apis.ApiDemos")

  此時模擬器會自動打開ApiDemos這個應用程序的主頁。

  接下來我們還可以給模擬器發送更多的操作,如模擬任何按鍵時間和滾動等,並且可以截圖。命令格式和上述命令類似,我就不再累述了。

  當然,我們也可以不這樣麻煩得一行行地輸入命令,可以將從“from...import...”開始的所有後面的語句都寫到一個python文件裏面,例如 monkeyrunnerTest.py,然後我們再從命令行直接通過monkeyrunner運行它即可。比如,我們還是用上面的例子,語法如下:

  D:\Software\Android2.3.3\android-sdk-windows\tools>monkeyrunner monkeyrunnerTest.py

  接下來monkeyrunner會自動調用monkeyrunnerTest.py,並執行其中的語句,相當方便。

  今天暫時先寫到這裏,今天主要的關鍵是明白瞭如何使得monkeyrunner和模擬器進行正確的連接和相關的操作,具體的monkeyrunner的方法和屬性大家可以參考官方的文檔,上面非常詳細了,呵呵。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章