Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> monkeyrunner環境搭建及實例教程(3)

monkeyrunner環境搭建及實例教程(3)

編輯:關於Android編程

Monkeyrunner工具提供了一個API,使用此API寫出的程序可以在Android代碼之外控制Android設備和模擬器。

一、Monkeyrunner簡介

1.MOnkeyrunner相對Monkey區別

1)Monkeyrunner工具在工作站上通過API定義的特定命令和事件控制設備或模擬器(可控)

2)精確控制事件之間的事件

3)可以進行:點觸屏、拖拽、長按、鍵盤事件

4)可以智能截圖對比和判斷

5)回溯出詳細具體的BUG路徑

2.Monkeyrunner優缺點

1) 能完全模擬人工所有操作

2) 有詳細的API文檔參考

3) 可以寫出智能圖像對比腳本

4) 支持java和Python兩種語言腳本

5) 腳本移植性差

3.Monkeyrunner腳本編寫

1) 終端USB調成開發者模式

2)電腦安裝手機驅動

二、Monkeyrunner環境搭建

Monkeyrunner的環境搭建,需要安裝以下工具:jdk、android sdk、python編譯器。

1.jdk的安裝與配置

1)jdk下載地址

http://www.oracle.com/technetwork/java/javase/downloads/index.html

下載完成後,默認安裝即可。

2)jdk環境配置

jdk安裝成功後,計算機→屬性→高級系統設置→高級→環境變量,在系統變量中,新建JAVA_HOME變量,變量值填寫jdk的安裝目錄。

在系統變量中,編輯Path變量,在變量值最後輸入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意原來Path的變量值末尾有沒有;號,如果沒有,先輸入;號再輸入上面的代碼)

在系統變量中,新建CLASSPATH變量,變量值填寫為:

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一點)

到此,系統變量配置完畢。

3)jdk環境檢查

檢驗jdk環境是否配置成功,則運行cmd,在cmd窗口中,輸入 java -version (java 和 -version 之間有空格)。若如圖所示,顯示版本信息,則說明安裝和配置成功。

2.android sdk安裝與配置

android sdk就是指Android專屬的軟件開發工具包。android sdk中我們最常用的就是tools和platform-tools文件夾中的工具。

1)sdk下載地址

下載地址1:http://developer.android.com/sdk/index.html

下載地址2:http://rj.baidu.com/soft/detail/23485.html?ald

Sdk下載完成後,解壓縮到自己的目錄,不需要安裝。

2)sdk環境配置

sdk安裝成功後,計算機→屬性→高級系統設置→高級→環境變量,在系統變量中,新建ANDROID_HOME變量,變量值填寫sdk中tools和platform-tools的安裝目錄。

在系統變量中,編輯Path變量,在變量值最後輸入%ANDROID_HOME%;

(注意原來Path的變量值末尾有沒有;號,如果沒有,先輸入;號再輸入上面的代碼)

3)sdk環境檢查

檢驗sdk環境是否配置成功,則運行cmd,在cmd窗口中,輸入adb。若如圖所示,則說明安裝和配置成功。

3.Python編輯器安裝與配置

python用於支持Monkeyrunner運行,使用python腳本編寫用例會大大簡化Monkeyrunner用例的編寫,且會幫助擴展monkeyrunner的自動化功能。

1)Python下載地址

下載地址:http://www.python.org/download/

下載後,按照提示信息,下一步安裝即可。

2)Python環境配置

Python安裝成功後,計算機→屬性→高級系統設置→高級→環境變量,在系統變量中,編輯Path變量,在變量值最後輸入Python的安裝路徑;

(注意原來Path的變量值末尾有沒有;號,如果沒有,先輸入;號再輸入上面的代碼)

3)Python環境檢查

檢驗Python環境是否配置成功,則運行cmd,在cmd窗口中,輸入python。若如圖所示,顯示版本信息,則說明安裝和配置成功。

4.Monkeyrunner環境檢查

若以上步驟均完成,且各環境變量也配置正確,至此,Monkeyrunner環境已經搭建完成。檢驗Monkeyrunner環境是否搭建成功,則同樣運行cmd,在cmd窗口中,輸入monkeyrunner。如下圖所示,則說明Monkeyrunner環境搭建成功。

下面就可以用Monkeyrunner連接模擬器來進行自動化的測試了。

三、Monkeyrunner使用方法

Moneyrunner在使用前,必須先打開模擬器或連接上手機設備。下面是Monkeyrunner的實例操作。

1.模擬器啟動

我們這裡選擇命令打開模擬器。運行cmd,在cmd窗口,輸入命令:emulator -avd AVD_test,其中AVD_test是模擬器的名稱,填寫自己創建的模擬器名稱。

模擬器啟動成功後,我們仍在cmd環境中操作。現在進入Monkeyrunner的shell命令交互模式。

輸入命令:monkeyrunner

進入shell命令交互模式後,首要一件事就是導入monkeyrunner所要使用的模塊。直接在shell命令下輸入命令:

復制代碼 代碼如下:from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice

再回車,這步完成我們就可以利用monkeyrunner進行測試工作了。

2.模擬器連接

下面我們就要Monkeyrunner連接上模擬器,進行一系列操作了。輸入命令:

device=MonkeyRunner.waitForConnection()

其中,device=MonkeyRunner.waitForConnection(6,'emulator-5554′)
參數1:超時時間,單位秒,浮點數,默認是無限期地等待。
參數2:指定的設備名稱device_id,默認為當前設備(手機優先,其次為模擬器)

輸入命令後,頁面上沒有錯誤信息返回,即成功連接設備。

3.app安裝並啟動

1)app安裝

模擬器啟動成功後,我們安裝自己想要的apk,這裡我們選擇qq音樂安裝。

輸入命令:device.installPackage('F:\\QQyinle_439.apk'),其中,參數是APK的相對路徑。

安裝成功返回true,此時查看模擬器我們可以在IDLE界面上看到安裝的APK的圖標了。

2)app啟動

app安裝成功後,現在啟動該app,命令為:

device.startActivity(component="package名/.activity")

首先,我們有必要說一下,如何獲取一個app的package名和activity。這裡,我們只描述一種獲取方式。

使用aapt,其中aapt是sdk自帶的一個工具,在sdk\builds-tools\目錄下:

以存儲在F盤的qq音樂為例,運行cmd,命令行中切換到aapt.exe目錄,

方法一:

執行命令:aapt dump badging F:\QQyinle_439.apk ,注意,apk路徑中一定不能有空格。

由上圖可知:package name:com.tencent.qqmusic

activity:.activity.AppStarterActivity

方法一由於日志較多,尋找起來比較費勁,所以我們引出方法二。

方法二(推薦):

把日志存儲在特定的文件中,在文件中通過搜索關鍵字,得到包名及活動名,這裡我把結果輸出到F盤的log.txt中:

aapt dump badging F:\QQyinle_439.apk > F:\log.txt

到此,已經獲取了app的package名和activity。下面,我們真正的啟動app。在原有cmd運行窗口,輸入命令:

復制代碼 代碼如下:device.startActivity(component=" com.tencent.qqmusic/.activity.AppStarterActivity ")

命令執行後,模擬器上的app被啟動。這表示命令啟動app成功。這裡的關鍵是app的package name和activity對應獲取正確,否則啟動不了特定app。

此時可以向模擬器發送如按鍵、滾動、截圖、存儲等操作了。

四、Monkeyrunner運行python腳本

同樣,Monkeyrunner可以直接調用指定python腳本,將命令寫到python文件裡,命名例如***.py,然後我們再從命令行直接通過monkeyrunner運行它即可。比如,我們還是用上面的例子,語法如下:monkeyrunner ***.py。接下來monkeyrunner會自動調用***.py,並執行其中的語句,相當方便。

我們這裡將上述例子,所有命令放在python文件裡,並命名test.py,然後存儲到本地F盤,即路徑為:F:\test.py。

#coding:utf-8
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice 
device=MonkeyRunner.waitForConnection()
device.installPackage('F:\\QQ_374.apk') 
MonkeyRunner.sleep(3.0)
runComponent = "com.tencent.qqmusic/.activity.AppStarterActivity"
device.startActivity(component=runComponent)

在cmd中運行monkeyrunner F:\test.py,這裡的python腳本路徑為相對路徑。結果報錯:SyntaxError:mismatched input 'test' expecting NEWLINE,如下:

這是因為python腳本應在dos模式下執行,不要進入monkeyrunner的shell命令交互模式。正確的方式如下,輸入命令monkeyrunner F:\test.py:

運行成功後,則可以在模擬器上看到啟動的qq音樂app。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved