這篇文章你會學到的東西: 一、什麼是自動化測試 二、有哪些測試 三、自動化測試工具 四、認識UIAutomator 五、用UIAutomator製做第一個自動化測試工具。
ps:筆者也是剛開始學習UIAutomator,如有錯誤的地方,或者有更好的操做方式,望請不吝賜教。
偷懶改變世界。
人們懶的走路,發明了汽車。
人們懶的爬樓梯,發明了電梯。
人們懶的洗衣服,發明了洗衣機。
人類的進步,離不開偷懶而又聰明的發明家。如今,一羣偷懶而又聰明的程序員將偷懶上升到新的高度——利用程序來進行自動化測試。將測試員從繁瑣的測試用例中解放出來,今後,能夠一邊喝着咖啡一邊看着機器自動的執行測試,測試員沒必要看着測試用例重複進行無數次的測試步驟,也沒必要擔憂失誤而致使沒必要要的錯誤,更不用擔憂壓力測試而致使身心疲憊。UIAutomator就是這麼一個被聰明的偷懶家發明出來的東西。咱們能夠使用它,來編寫自動測試的代碼,執行這些代碼,就可讓機器本身執行測試,而咱們,嘿嘿,去喝杯咖啡或者看看足球比賽吧。html
自動化測試是把以人爲驅動的測試行爲轉化爲機器執行的一種過程。java
一、Google CTS測試:兼容性測試,測試ROM的兼容性標準
二、實驗室機器人測試,機械臂自動化模擬測試
三、Monkey Test 壓力測試
四、End User Test 終端用戶測試
對於美國的手機運營商,如:T-Mobile、Sprite、AT&T,他們都有本身一系列的手機性能測試、他們的測試項目、測試方法、測試過程,其實都是他們的商業機密,一個保證測試結果的嚴謹性,一個也保證了手機廠商可以不做弊的完成測試。因此千萬不要學華X手機,在T-Mobile實驗室偷拍手機機器人的軟件、技術參數及其餘機密信息,而被T-Mobile列入北美黑名單。逗比新聞python
monkeyRunner提供一個API來控制Android設備。能夠寫一個Python腳原本安裝應用、運行應用、發送鍵值、截圖。monkeyRunner對python進行了封裝,加入一些針對Android設備的類。能夠徹底用python腳原本實現這些功能。適用於壓力測試。android
基於Android單個Activity的測試框架。適用於白盒測試程序員
一個優秀的測試框架,基於Instrumentation的二次封裝。使用於白盒測試web
一個web上的自動化測試工具,經過錄制腳原本實現自動化測試。shell
目前最佳的UI自動化測試框架。基於Android4.x+系統,專業UI自動化測試,能夠模擬用戶操做手機的各類行爲。編寫快速,能夠使用大部分Android Api、無需前面,沒有Activity限制。框架
UIAutomator,翻譯過來就是Android UI 自動化測試,在Android4.1版本中推出了UiAutomator測試框架,此框架一改過去較麻煩的UI自動化測試,和解放了過去諸多枷鎖,讓UI自動化測試變得很是容易和簡單。ide
咱們用UIAutomator製做一個自動化測試工具,它只有一個簡單的能力——幫助咱們按手機的Home鍵。工具
咱們用ADT來建立一個測試工程。
選中菜單欄->File->New->Java Project就能夠建立一個java工程了。
如圖所示:
在工程目錄下新建libs包。裏面存放從Android SDK的platform/android-19/目錄下獲取的兩個jar包:android.jar和uiautomator.jar。把這兩個jar包丟到libs目錄下。並build path 配置好這兩個jar包。
咱們建立了一個Test類,它繼承了UiAutomatorTestCase類。咱們在此編寫一個測試用例方法。它的做用是按下手機的home鍵。由於UiAutomator遵循Junit3,因此方法前都要帶test。代碼以下:
package com.babybus.uiautomator.demo001; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testPressHomeKey() { UiDevice.getInstance().pressHome(); } }
在終端輸入代碼:
android create uitest-project -n [jar name] -t 1 -p[project path]
android create uitest-project 表示說要建立一個uitest-project項目
-n 這個項目的名稱
-t 須要用到的android SDK的id。咱們能夠在終端執行android list來查看用的sdk的id編號。以下圖:
-p 工程目錄
輸入好代碼回車,以下圖:
會在工程目錄下建立build.xml.刷新工程,如圖所示:
咱們把build.xml第二行的help改爲build。代碼以下:
<project name="BBUIAutomator" default="build">
執行命令:ant -buildfile [build.xml路徑] 或者你也能夠cd到工程目錄下,執行命令:ant -buildfile build.xml,回車,以下圖:
出現BUILD SUCCESSFUL,就表示編譯成功了。咱們會在bin目錄下,發現編譯好的jar包。
執行命令:
adb push [jar path] /data/local/tmp
終端運行結果以下:
執行命令:
adb shell uiautomator runtest [jar name] -c [類名(完整類名)]
回車,等幾秒,你會看到手機好像有我的按了home建,屏幕返回到Home頁面。 命令輸出結果以下:
本站文章爲 寶寶巴士 SD.Team 原創,轉載務必在明顯處註明:(做者官方網站: 寶寶巴士 )
轉載自【寶寶巴士SuperDo團隊】 原文連接: http://www.cnblogs.com/superdo/p/4493142.html