2014 非常好用的開源 Android 測試工具

2020-11-30 開源中國

當前有很大的趨勢是轉向移動應用平臺,Android 是最廣泛使用的行動作業系統,2014 年大約佔 80% 以上的市場。在開發 Android 應用的時候要進行測試,現在市場上有大量的測試工具。

本文主要是展示一系列的開源 Android 測試工具。每個工具都會有相應的簡短介紹,還有一些相關的資源。Android 測試工具列表是按照字母來排序的,最後還會介紹幾個不是特別活躍的 Android 測試相關的開源項目。

本文提到的開源 Android 軟體測試工具包括:Android Test Kit, AndroidJUnit4, Appium, calabash-android, Monkey, MonkeyTalk, NativeDriver, Robolectric, RoboSpock, Robotium, UIAutomator, Selendroid。


Android Test Kit

Android Test Kit 是一組 Google 開源測試工具,用於 Android 平臺,包含 Espresso API 可用於編寫簡潔可靠的 Android UI 測試。

OSChina URL: http://www.oschina.net/p/android-test-kit

相關資源
* Android application testing with the Android test framework – Tutorial
* Espresso for Android is here!


AndroidJUnit4

AndroidJUnit4 是一個讓 JUnit 4 可以直接運行在 Android 設備上的開源命令行工具。

OSChina URL: http://www.oschina.net/p/androidjunit4


Appium

Appium 是一個開源、跨平臺的自動化測試工具,用於測試原生和輕量移動應用,支持 iOS, Android 和 FirefoxOS 平臺。Appium 驅動蘋果的 UIAutomation 庫和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 協議。Appinm 的 iOS 支持是基於 Dan Cuellar's 的 iOS Auto. Appium 同時綁定了 Selendroid 用於老的 Android 平臺測試。

OSChina URL: http://www.oschina.net/p/appium

相關資源
* Appium Tutorial
* Android UI testing with Appium


Calabash-android

calabash-android 是一個基於 Cucumber 的 Android 的功能自動化測試框架。Calabash 允許你寫和執行,是開源的自動化移動應用測試工具,支持 Android 和 iOS 原生應用。Calabash 的庫允許原生和混合應用的交互測試,交互包括大量的終端用戶活動。Calabash 可以媲美 Selenium WebDriver。但是, 需要注意的是 web 應用和桌面環境的交互跟觸控螢幕應用的交互是不同的。Calabash 專為觸控螢幕設備的原生應用提供 APIs。

OSChina URL: http://www.oschina.net/p/calabash-android

相關資源
* A better way to test Android applications using Calabash
* Calabash Android: query language basics


Monkey

Monkey 是 Google 開發的 UI/應用測試工具,也是命令行工具,主要針對壓力測試。你可以在任意的模擬器示例或者設備上運行。Monkey 發送一個用戶事件的 pseudo-random 流給系統,作為你開發應用的壓力測試。

OSChina URL: http://developer.android.com/tools/help/monkey.html


MonkeyTalk

MonkeyTalk 是世界上最強大的移動應用測試工具。MonkeyTalk 自動為 iOS 和 Android 應用進行真實的,功能性交互測試。MonkeyTalk 提供簡單的 "smoke tests",複雜數據驅動的測試套件。MonkeyTalk 支持原生,移動和混合應用,真實設備或者模擬器。MonkeyTalk 使得場景捕獲非常容易,可以記錄高級別,可讀的測試腳本。同樣的命令可以用在 iOS 和 Android 應用上。你可以記錄一個平臺的一個測試,並且可以在另外一個平臺回放。MonkeyTalk 支持移動觸摸和基於手勢交互為主的移動體驗。點擊,拖拽,移動,甚至是手指繪製也可以被記錄和回放。

OSChina URL: http://www.oschina.net/p/monkeytalk

相關資源
* Using MonkeyTalk in AndroidStudio


NativeDriver

NativeDriver 是 WebDriver API 的實現,是原生應用 UI 驅動,而不是 web 應用。

OSChina URL: http://www.oschina.net/p/nativedriver


Robolectric

Robolectric 是一款Android單元測試框架,使用 Android SDK jar,所以你可以使用測試驅動開發 Android 應用。測試只需幾秒就可以在工作站的 JVM 運行。Robolectric 處理視圖縮放,資源加載和大量 Android 設備原生的 C 代碼實現。Robolectric 允許你做大部分真實設備上可以做的事情,可以在工作站中運行,也可以在常規的 JVM 持續集成環境運行,不需要通過模擬器。

OSChina URL: http://www.oschina.net/p/robolectric

Additional resources
* Better Android Testing with Robolectric 2.0
Using Robolectric for Android testing – Tutorial


RoboSpock

RoboSpock 是一個開源的 Android 測試框架。提供簡單的編寫 BDD 行為驅動開發規範的方法,使用 Groovy 語音,支持 Google Guice 庫。RoboSpock 合併了 Robolectric 和 Spock 的功能。

OSChina URL: http://www.oschina.net/p/robospock

相關資源
* RoboSpock – Behavior Driven Development (BDD) for Android


Robotium

Robotium 是一款國外的Android自動化測試框架,主要針對Android平臺的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點擊、長 按、滑動等)、查找和斷言機制的API,能夠對各種控制項進行操作。Robotium結合Android官方提供的測試框架達到對應用程式進行自動化的測 試。另外,Robotium 4.0版本已經支持對WebView的操作。Robotium 對Activity,Dialog,Toast,Menu 都是支持的。

OSChina URL: http://www.oschina.net/p/robotium

相關資源
* Robotium – Testing Android User Interface
* Android user interface testing with Robotium – Tutorial


UIAutomator

uiautomator 測試框架提高用戶界面(UI)的測試效率,通過自動創建功能 UI 測試示例,可以在一個或者多個設備上運行你的應用。

OSChina URL: http://www.oschina.net/p/uiautomator

相關資源
* Automatic Android Testing with UiAutomator


Selendroid

Selendroid 是一個 Android 原生應用的 UI 自動化測試框架。測試使用 Selenium 2 客戶端 API 編寫。Selendroid 可以在模擬器和實際設備上使用,也可以集成網格節點作為縮放和並行測試。

OSChina URL: http://www.oschina.net/p/selendroid

相關資源
* Mobile Test Automation with Selendroid
* Road to setup Selendroid and create first test script of android application
* Up and running with: Selendroid


一些停止維護的 Android 測試工具

一些幾乎沒有繼續維護的開源 Android 測試工具項目(至少是最近幾個月都沒有更新的項目)。


Emmagee

Emmagee 是監控指定被測應用在使用過程中佔用機器的CPU、內存、流量資源的性能測試小工具。Emmagee 同時還提供非常酷的一些特性,比如定製間隔來收集數據,使用浮動窗口呈現實時進程狀態等。

OSChina URL: http://www.oschina.net/p/emmagee

Sirocco

Scirocco(scirocco-webdriver) 是開源的應用自動化測試工具,可以從 Eclipse 訪問必要的測試設備。Scirocco 提供自動化的 Android 應用測試功能,代替手工測試。Scirocco 支持谷歌的 NativeDriver,把 AndroidDriver 作為主要的測試庫。Scirocco 包括三個部分:NativeDriver,AndroidDriver,scirocco 插件(一個 Eclipse 插件;可以自動執行 scenario 測試和製作測試報告截圖)。

OSChina URL: http://www.oschina.net/p/scirocco

via softwaretestingmagazine

相關焦點

  • Android壓力測試Monkey工具
    最近在Android程序測試過程中接觸到了自動化測試方法,對其中的一些工具、方法和框架做了一些簡單的整理,其中包括android測試框架、CTS、Monkey、Monkeyrunner其它test tool等等。因接觸時間很短,很多地方有不足之處,希望能和大家多多交流和指點在這裡簡單對monkey做簡單的介紹吧。
  • 推薦14款開源的Web應用測試工具
    1.JMeter是Apache組織的開放原始碼項目,它是功能和性能測試的工具,100%的用java實現。2.GrinderGrinder是一個負載測試框架,通過Jython來編寫測試腳本,基於HTTP的測試可以由瀏覽器來記錄整個要測試的過程。
  • 7個用於開源網絡情報滲透測試工作的熱門OSINT工具
    如何在面對數量龐大的搜索信息時,方便的篩選出對自己有用的信息呢?這只能通過使用不同的OSINT開源網絡情報工具來實現。工具在搜索信息中起著重要作用,但是如果不知道工具的重要性和用法,它將對用戶沒有幫助。為什麼我們需要這些OSINT開源網絡情報工具?讓我們考慮一種情況或場景,其中我們需要在Web上查找與某個主題相關的信息。
  • 2014年:Linux和開源的福禍之年
    Linux和開源軟體在今年有成功也有失敗,不過總的來說,今年對Linux和開源軟體是好的一年,而在未來一年,Linux和開源可能沒有什麼「大」事,因為它會繼續在計算的各領域滲透。開源許可沒有被使用或許你不會介意開源許可中沒有GPL這樣的協議,但是你一定會介意這麼多的開源程序不帶有任何的開源許可。到底有多少呢?在2013年,GitHub程序中有77%的程序沒有許可。4.
  • 軟體測試工具有哪些?10款常見的軟體測試工具推薦
    軟體測試工具分為自動化軟體測試工具和測試管理工具。自動化軟體測試工具存在的價值是為了提高測試效率,用軟體來代替一些人工輸入。測試管理工具是為了復用測試用例,提高軟體測試的價值。一個好的軟體測試工具和測試管理工具結合起來使用將會使軟體測試效率大大的提高。那麼軟體測試工具有哪些呢?
  • 如何在 Github 上發現優秀的開源項目?
    問到點子上了,GitHub 其中一個最重要的作用就是發現全世界最優秀的開源項目,你沒事的時候刷刷微博、知乎,人家沒事的時候刷刷 GitHub ,看看最近有哪些流行的項目,久而久之,這差距就越來越大,那麼如何發現優秀的開源項目呢?這篇文章我就來給大家介紹下。1.
  • 6月份Github上熱門的開源項目
    6月份GitHub上熱門的開源項目排行已經出爐啦,一起來看看上榜詳情吧!1. cwa-app-androidhttps://github.com/corona-warn-app/cwa-app-androidStar 1526
  • 最流行的十大開源雲監控工具
    監控和測試工具分為實時資料庫、數據採集工具、可視化工具、意見反饋工具、日誌記錄器等等。在過去的幾年裡,開源產品和商業監控應用程式發生了爆炸式增長,下面是其中10個最受歡迎的開源雲監控工具。  Prometheus
  • 60款流行網絡工具的開源替代選擇
    開源網絡工具能派得上用處。無論你是在管理大型企業數據中心中成千上萬的系統,還是僅僅把你家裡的幾臺電腦連接起來,開源網絡工具都能幫助你搭建和維護一個低成本的網絡。本文整理出了讓這項任務變得更容易一點的60款開源網絡工具。
  • 5款好用的 REST API 工具,推薦給你!
    填入請求和響應數據後,它將自動生成測試代碼。你還可以在每次測試之前調用的 JavaScript(或 CoffeeScript)中創建設置腳本。 它有一些用於解析、解碼和編碼 URI 的基本內置函數。如果發生故障,它將通過電子郵件、Slack 或 Hipchat 發送通知。對於需要網站在全球範圍內提供快速響應的 Web 開發人員而言,它非常好用。
  • HIL測試團隊建設下篇(1)-測試管理開源工具鏈(含視頻教學)
    團隊協作軟體種類繁多,開源的、收費的琳琅滿目。作為拋磚引玉,本系列將介紹三種流行的開源測試管理工具鏈,它們分別是版本管理軟體SVN,缺陷管理軟體Mantis與測試管理軟體TestLink。有,而且非常之多,Mantis,Bugfree,Bugzilla,禪道等都可以幫助你做這件事情。他們對缺陷的狀態進行跟蹤與管理,可以添加評論和備註,也可以與郵箱伺服器相關聯,自動發送提醒郵件,極大的提高了管理的效率。無論是供應商或整車廠,都可以根據下面的教學視頻,自行下載、安裝和使用開源缺陷管理Mantis。
  • 阿里開源混沌工程工具 ChaosBlade
    近日,阿里開源了混沌工程工具 ChaosBlade。
  • 基於Android的嵌入式Web伺服器設計
    由於Android作業系統能方便地將各種應用程式嵌入網絡,以及開放性好、支持硬體豐富的特點,本文選擇Android作業系統作為家庭網關設計的軟體平臺來建立Web伺服器。1 Android系統介紹 Android行動裝置平臺是基於Linux內核再度開發的一個開源的作業系統和軟體平臺,最早期由Google公司進行研究和開發的。
  • 盤點嵌入式開發工具,或許能用上!
    嵌入式開發就是指在嵌入式作業系統下進行開發,一般常用的系統有μcos,vxworks,linux,android等。當然,對於嵌入式或單片機工程師的利器就是C語言、C++或彙編語言。那麼有哪些好工具可以讓工作事半功倍呢?
  • 這10個開源安全工具你知道幾個?
    【IT168 評論】開源工具可以為IT安全人士實施安全措施和學習培訓奠定堅實的基礎。以下是人們應該知道的10個IT安全工具:  (1)Nessus(可見性)與許多其他開源軟體包一樣,Nagios也提供免費和商業版本。  Nagios Core是開源項目的核心,基於免費的開源版本。可以通過插件監控各個產品,並執行各項任務。目前市場上大約有50個由Nagios開發的官方插件和超過3000個社區開發的插件。  Nagios的用戶界面可以通過桌面、Web或移動平臺的前端進行修改,並且可以通過其中一種可用的配置工具來管理配置。
  • 盤點網際網路巨頭奉獻的十大開源安全工具
    不少大型網際網路公司經常會將自己開發的頂級安全工具開源,推動整個網際網路的安全發展。本月早些時候安全牛曾介紹過Google開源的web安全測試工具Firing Range、Nogofail以及Facebook開源的Osquery等。事實上不僅Google、Facebook,包括Netflix甚至Etsy.com這樣的電商網站也都貢獻過精品開源安全工具。
  • Salesforce開源構建Einstein AI模型的工具
    Salesforce今天宣布開源TransmogrifAI,這是一款用於自動化AI計劃的本土軟體,相比Oracle工具來說它解決了任務的不同方面。該工具使工程師能夠自動生成針對特定數據而量身定製的機器學習模型,被稱為是現有人工智慧自動化解決方案的更靈活的替代方案,例如谷歌基於雲的AutoML服務。據Salesforce稱,這些產品通常只支持很小範圍的用例,並且最初設計是用於處理像照片這樣的非結構化數據,而不是結構化的業務記錄。
  • 好用的手機數據傳輸軟體有哪些?
    手機文件的傳輸是一件非常簡單的事情,通常我們都會使用藍牙來進行文件的傳輸,但是許多人都太會用,小編帶來了手機數據傳輸軟體,這類軟體擁有非常人性化的界面,可以輕鬆掌握文件數據傳輸方法,輕鬆實現數據共享,需要的可以看一下~無距
  • Github Star 7.2K,超級好用的OCR數據合成與半自動標註工具,強烈...
    全新發布半自動數據標註工具 PPOCRLabel:有了它數據標註工作事半功倍,相比 labelimg 標註效率提升 60% 以上,社區小規模測試,好評如潮。 多語言識別模型效果升級:中文、英文、韓語、法語、德語、日文識別效果均優於 EasyOR。
  • 高效開源EDA工具鏈已在路上?
    最大感觸是開源硬體(晶片)在美國各界已經成為一種共識——從學術界、企業界到DARPA這樣的政府機構,都在積極投入到開源晶片與晶片敏捷開發方向的研究中。早在2016年的首屆Architecture 2030遠景研討會上,很多人就認為開源硬體將會是未來的大主題(Big Theme,如圖1)。而在國內,很多人對開源硬體/晶片的理解還有些片面,只是認為「開源晶片=RISC-V」。