歡迎來到趙小歪的Android世界,最近在學習Android monkey測試,并小試牛刀編寫了第一個簡單的monkey腳本,并成功運行,故而記錄下來與大家分享。
monkey,作為Android自動化測試的利器,有其強大之處,而其基本命令網上大致都有資料可以查詢,本篇文章主要從monkey腳本的角度出發,帶大家了解Windows平臺下monkey腳本的搭建以及運行過程,讓我們開始這次旅程吧!
1.SDK配置
對于Android開發者來說,Android SDK我想都不陌生,下載完整的Android SDK后,將文件夾platform-tools路徑添加到環境變量中,以便能使用adb以及fastboot命令,配置完成后可以通過在命令提示窗口運行adb version查看adb是否成功安裝。
2.配置Android模擬器
對于使用Android真機的同學可以忽略這個部分。對于Android模擬器我使用的是Genymotion,Genymotion以其運行速度快,資源占用少的優勢被眾多Android開發人員使用。Genymotion的安裝過程也很簡單,具體步驟如下:
a.首先登錄Genymotion官網:www.genymotion.net。
b.點擊注冊按鈕進行注冊,并進入注冊使用的郵箱查看激活郵件,點擊激活鏈接進行激活。成功注冊后點擊Download進入如下頁面:
c.若機器上已經安裝了VirtualBox直接下載without VirtualBox的版本,若沒有安裝選擇with VirtualBox的版本。下載完成后直接進行安裝即可,安裝完成打開Genymotion。
d.點擊Setting按鈕進入設置頁面,選擇ADB Tab后選擇Use custom Android SDK tools,并將安裝的SDK路徑添加進去即可。
e.在配置完成SDK路徑后,我們創建自己的Android模擬器。這里在Your virtual devices中已經存在一個我配置的模擬器,我們可以通過點擊Add按鈕創建一個新的模擬器,但在創建之前需要將VirtualBox打開,然后點擊Add按鈕。
f.選擇想要安裝的模擬器進行下載安裝即可,安裝完成后選中想要打開的模擬器,點擊Start按鈕,啟動模擬器,經過短暫的等待后,模擬器成功啟動。
3.Python環境安裝
對于不想安裝Python的同學可以跳過這個步驟。首先安裝Python環境,成功后安裝PyCharm集成開發環境(為將來學習monkeyrunner編寫腳本提供方便)
4.編寫monkey腳本并進行測試
我們選擇Android原生瀏覽器作為測試目標,打開瀏覽器我們看到如下界面:
我們需要編寫的腳本很簡單,主要功能如下:
1)啟動Browser應用
2)在網址輸入框中輸入網址,如www.baidu.com
3)點擊加載按鈕
下面我們分步來完成這些工作,首先是啟動Browser應用,對于monkey而言,我們可以使用LaunchActivity函數來啟動應用,但需要傳遞應用的包名以及Activity名。我們在模擬器中打開瀏覽器,然后打開命令提示框,輸入adb shell進入shell,輸入命令logcat | grep START查看當前正在運行的應用程序以及包名和Activity名。
在成功啟動應用后,我們需要在網址輸入框中輸入網址,這里我們需要點擊輸入框,輸入網址文本后點擊軟鍵盤的回車按鈕使輸入的網址進入EditText控件中。對于點擊輸入框,我們可以通過函數DispatchPointer來完成,該函數重要的是第三、四、五三個參數,第三個參數表示點擊動作的類型,類型有:ACTION_DOWN=0,ACTION_UP=1,ACTION_MULTIPLE=2。第四個參數以及第五個參數表示點擊的位置的x坐標以及y坐標,這里對于點擊位置的獲取,我們可以通過使用Google提供的uiautomatorviewer工具來獲取。該工具位于SDK tools目錄下,進入該目錄,按住shift鍵不松,點擊鼠標右鍵選擇在此處打開命令窗口,打開后輸入uiautomatorviewer.bat腳本運行uiautomatorviewer。
選中需要點擊的控件,如EditText即我們要輸入網址的控件,在右側我們會看到該控件的有效范圍,我們只需要保證點擊位置的x以及y坐標在這個范圍內即可。對于輸入文本,我們可以使用函數DispatchString來完成,輸入文本后通過使用函數DispatchPress并傳入參數66(軟鍵盤回車按鈕的key code)來完成點擊軟鍵盤回車按鈕操作。完成網址的輸入工作后,我們需要點擊加載按鈕,我們同樣可以通過DispatchPointer函數來完成,點擊位置仍然通過uiautomatorviewer來獲取。在所有的操作過程中我們可以通過使用函數UserWait函數來設置等待時間。完整的腳本如下:
5.腳本編寫完畢后,使用adb push命令將腳本push到模擬器中,在push之前使用adb remount掛載系統分區,push成功后執行命令adb shell monkey命令運行腳本,對于使用monkey命令只執行一次腳本的原因,在上面完整的腳本圖片中有說明。具體運行腳本命令格式如下所示。
6.執行腳本后我們會看到模擬器成功啟動Browser應用,并在網址輸入框中輸入www.baidu.com,并且點擊加載按鈕,加載網站(瀏覽器網址不是www.baidu.com是因為輸入該網址后點擊加載按鈕自動鏈到百度的手機客戶端地址)
這是小歪的第一篇簡書技術類型的文章,語言組織有不到位的地方還希望各位看官見諒,小歪一直相信,未來的路還很長,只要有一顆永遠不停止學習的心,追求卓越,總有一天會強大起來。