Android自動化測試初探

來源:互聯網
上載者:User

現在已經有大量的Android自動化測試架構或工具可供我們使用,其中包括:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolectric。

另外LessPainful也提供服務來進行真實裝置上的自動化測試。

Android自身提供了對 instrumentation測試的基本支援,其中之一就是位於android.test包內的 ActivityInstrumentationTestCase2類,它擴充了JUnit的TestCase類來提供Android activities的功能測試。在應用測試中,每一個activity首先會被Instrumentation初始化,然後再載入到Android類比 器或裝置的Dalvik虛擬機器中來執行。

Android SDK內建一個測試載入器MonkeyRunner,它提供的API和執行環境可以運行Python語言編寫的測試代碼。它提供API來串連裝置,安裝/卸 載應用,運行應用,截屏,比對圖片來判斷特定命令執行後的螢幕是否包含預期資訊,以及運行對應用的測試。MonkeyRunner使用 ActivityInstrumentationTestCase2, ProviderTestCase,ServiceTestCasek, SingleLaunchActivityTestCase及其他類來定義測試案例,並使用InstrumentationTestRunner類來運行 測試。

Robotium是另一種通過 InstrumentationTestRunner來完成Android互動式測試的架構,它橫跨多個 activities,支援功能測試,系統測試和接收測試。Robotium支援Activities、Dialogs、Toasts、Menus、 Context Menus甚至Honeycomb,並且它可以同Maven和Ant整合來完成持續整合測試。Robotium被稱之為針對Android應用的又一個 Selenium。

Robolectric另闢蹊徑,它並不依賴於 Android提供的測試功能,它使用了shadow objects並且運行測試於普通的工作站/伺服器JVM,不像模擬器或裝置需要dexingAndroid dex編譯器將類檔案編譯成Android裝置上的Dalvik VM使用的格式),打包,部署和啟動並執行過程,大大減少了測試執行的時間。Pivotal實驗室聲稱使用Robolectric可以在28秒內運行1047 個測試。

LessPainful將Android測試又推進了一 步,它提供了一個多裝置平台自動化測試的服務。使用者上傳應用(*.apk)和用Cucumber一種業務相關的DSL)編寫的測試檔案,選擇測試回合需 要的裝置配置,最後測試將自動執行並產生測試報告。它支援的裝置包括 Garmin Asus,幾款HTC,LG,Samsung Galaxy,Sony Xperia和Motorola Motodefy。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.