android測試教程monkeyRunner從0開始


本文僅針對真正的菜鳥,大蝦們請飄過哈,嘿嘿。
要使用Monkeyrunner,我們首先得干神馬呢?當然得准備使用環境。這個不外乎就是我們得事先安裝好android的SDK,配置好開發環境(如Eclipse),安裝好Python(因為Monkeyrunner其實是由Jython寫的,直接調用android API來整的,我的機子上安裝的是python2.5)。這些步驟網上都有非常詳細的教程,教大家手把手地搭環境,我這里就不多廢話了。
環境搭好后,接下來我們就可以開始使用它了。目前網上的monkeyrunner教程很多都是直接翻譯官網上的資料,寫得很粗略,也沒有把詳細步驟說明下來,搞得我確實廢了兩三天才摸到頭緒。所以我這里會寫得很詳細,盡量幫助大家能夠輕易地看懂。詳細步驟如下(在模擬器上運行,附屏幕截圖):
1. 用Elipse打開andorid的模擬器或者在CMD中用andorid命令打開模擬器,如下:
D:\Software\Android SDK2.3\android-sdk-windows\tools>emulator -avd AVD2.3.3
file:///C:/Documents%20and%20Settings/Ching/Application%20Data/Tencent/Users/41420872/QQ/WinTemp/RichOle/PO%60SIVP8)%25%25~98(YZ556QS8.jpg

Comments: 定位到android SDK的路徑下的tools目錄,運行上面這個命令。“AVD2.3.3”是我的模擬器的名字,這個命令是每個人自己命名的,用的時候需改成實際的名字。
2. 這個時候,如果一切正常的話,模擬器應該可以啟動起來了。(運行monkeyrunner之前必須先運行相應的模擬器,不然monkeyrunner無法連接設備。這點很多教程上都沒有說,我也試了好多次才明白過來)。接着,我們打開另一個CMD窗口(前一個不要關),還是定位到tools目錄,輸入命令"monkeyrunner",回車,將進入shell命令交互模式。
file:///C:/Documents%20and%20Settings/Ching/Application%20Data/Tencent/Users/41420872/QQ/WinTemp/RichOle/YSH]2%25%25B%25%7DTZ5IOCDW3G83C.jpg

好了,接下來就可以導入monkeyrunner所要使用的模塊了。當然是我們的"From...import..."
直接在shell命令中輸入: from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice  回車,如圖:
[img]file:///C:/Documents%20and%20Settings/Ching/Application%20Data/Tencent/Users/41420872/QQ/WinTemp/RichOle/L)W84B0B5@8X$P7%25BMM[KX4.jpg[/img]

OK,這步完成之后,我們就可以開始和模擬器“勾兌”了,哈哈,命令如下:
device = MonkeyRunner.waitForConnection()
file:///C:/Documents%20and%20Settings/Ching/Application%20Data/Tencent/Users/41420872/QQ/WinTemp/RichOle/ID%7B@H7QF1UUTFBW%60J5G7UQW.jpg

沒有報錯的話,就代表和模擬器勾兌成功,我們可以接着“騷擾”它了。接下來,我們可以在里面裝點東西了。輸入如下命令,並傳入你的apk所在相對路徑即可。我這安裝的是著名的ApiDemos。成功了會返回true。如果沒有返回true,一般都是語法錯誤或者你傳入的相對路徑有問題,仔細檢查下就沒問題了。
device.installPackage("../samples/android-10/ApiDemos/bin/Apidemos.apk")
file:///C:/Documents%20and%20Settings/Ching/Application%20Data/Tencent/Users/41420872/QQ/WinTemp/RichOle/4VPAZ]_%7DG$~0HGL%7B8Q@P]SS.jpg
再看看應用程序管理器里面,確實是裝上去了,呵呵。
file:///C:/Documents%20and%20Settings/Ching/Application%20Data/Tencent/Users/41420872/QQ/WinTemp/RichOle/1NXYH%252OZJIDQCGQ%7B%7B3RGMC.jpg


接下來,我們就可以啟動其中的任意activity了,只要傳入package和activity名稱即可。命令如下:
device.startActivity(component = "com.example.android.apis/com.example.android.apis.ApiDemos")
注意參數里面“/”前面是package的名字,“/”后面是activity的名字。
此時模擬器會自動打開ApiDemos這個應用程序的主頁。
file:///C:/Documents%20and%20Settings/Ching/Application%20Data/Tencent/Users/41420872/QQ/WinTemp/RichOle/0~3K%7B%7BNNYF7(%25KQA5_K$X3W.jpg

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

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

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

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

接下來我准備再應用python上的圖像處理庫PIL,參考網上的一些圖像比較算法,做一個python圖片比較的類用於自動比較monkeyrunner生成的測試圖片並得出測試結果,有空試驗成功了就跟大家一起分享,呵呵




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM