產品體驗中心 下載與支持 產品社區(qū) 澤眾云   合作代理 |  咨詢電話:400-035-7887/021-6072 5088

移動APP自動化測試主流框架

發(fā)布時間:2021-03-31

1. Instrumentation 
 
Instrumentaion 是Android自帶的一個測試框架,是很多其它測試框架的基礎,可以在同進程中加載被測組件。它有很多豐富的高層封裝,使用者可以使用基于instrumentation的其他框架,避免過多二次開發(fā)量。但Instrumentation不支持跨應用,導致基于instrumentation的框架都繼承了這個缺點。
 
2.MobileRunner
 
MobileRunner是國內專業(yè)的支持IOS及Android上App、小程序、H5應用的自動化測試工具,實現(xiàn)7*24小時的自動化回歸測試、功能測試、兼容性測試,讓測試更簡單。
 
3. Robotium 
 
Robotium是基于Instrumentation框架開發(fā)的一個更強的框架. 對常用的操作進行了易用性的封裝. 用于開發(fā)功能性、系統(tǒng)和驗收測試場景。它運行時綁定到GUI組件。它安裝了一個測試用例套件作為在Android設備或仿真器上的應用程序,并提供用于執(zhí)行測試的真實環(huán)境。
 
優(yōu)點: 容易在最短的時間內編寫測試腳本,易用性高。自動跟隨當前activity。 由于運行時綁定到GUI組件,所以相比Appium,它的測試執(zhí)行更快,更強大。 不訪問代碼或不了解app實現(xiàn),也可以工作。 支持Activities、Dialogs、Toasts、Menus、Context Menus和其他Android SDK控件。
 
缺點: 不能處理flash和web組件。在舊設備上會變得很慢。 由于不支持iOS設備,當自動化測試同時覆蓋 android與iOS的情況時,測試會被中斷。沒有內置的記錄和回放功能.,使用記錄功能需要 TestDroid 和 Robotium Recorder 這樣的收費工具。
 
4. UIAutomator
 
UIAutomator是由谷歌提供的測試框架,它提供了原生Android app和游戲的高級UI測試。這是一個包含API的Java庫,用來創(chuàng)建功能性UI測試,還有運行測試的執(zhí)行引擎。該庫自帶Android SDK。
 
優(yōu)點:它在運行訪問不同的進程時,會給JUnit測試案例特權。庫由谷歌社區(qū)支持和維護。
 
缺點:僅支持android4.1(API level 16)及以上。 不支持腳本記錄。 支持的重點是Java。 你不能獲得當前活動或儀表化。目前不支持web視圖。 庫僅支持使用Java,因此很難和使用Ruby的cucumber混合。如想支持BDD框架,建議使用Java自己的BDD框架,例如Jbehave。
 
5. Espresso
 
Espresso是Google的開源自動化測試框架。相對于Robotium和UIAutomator,它的特點是規(guī)模更小、更簡潔、API更加精確、編寫測試代碼簡單、容易快速上手。因為是基于Instrumentation的,所以不能跨App。
 
6. Calabash
 
Calabash是一個適用于iOS和Android開發(fā)者的跨平臺app測試框架,可用來測試屏幕截圖、手勢和實際功能代碼。Calabash開源免費并支持Cucumber語言,Cucumber能讓你用自然的英語語言表述app的行為,實現(xiàn)BDD(Behavior Driven Development,行為驅動開發(fā))。 Cucumber中的所有語句使用Ruby定義。
 
優(yōu)點: 有大型社區(qū)支持。列表項 簡單,類似英語表述的測試語句支持在屏幕上的所有動作,如滑動,縮放,旋轉,敲擊等。 跨平臺開發(fā)支持(同樣的代碼在Android和iOS設備中都適用)。
 
缺點:測試步驟失敗后,將跳過所有的后續(xù)步驟,這可能會導致錯過更嚴重的產品問題。測試耗費時間,因為它總是默認先安裝app。 需要Calabash框架安裝在ios的ipa文件中, 因此測試人員必須要有iOS的app源碼。 除了Ruby,對其他語言不友好。
 
7. Appium
 
Appium是一個開源的、跨平臺的自動化測試工具,支持IOS、Android和FirefoxOS平臺。 通過Appium,開發(fā)者無需重新編譯app或者做任何調整,就可以測試移動應用,可以使測試代碼訪問后端API和數(shù)據(jù)庫。它是通過驅動蘋果的UIAutomation和Android的UiAutomator框架來實現(xiàn)的雙平臺支持,同時綁定了Selenium WebDriver用于老的Android平臺測試。開發(fā)者可以使用WebDriver兼容的任何語言編寫測試腳本,如Java, OC, JS, PHP,Python, Ruby, C#,Clojure 和Perl語言。
 
8. Selendroid
 
Selendroid 是一個基于Instrumentation的一個框架. 完全兼容Webdriver協(xié)議。 Selendroid 可以在模擬器和實際設備上使用,也可以集成網(wǎng)格節(jié)點作為縮放和并行測試。
 
9. Robolectric
 
Robolectric 是一款Android單元測試框架,但它并不依賴于Android提供的測試功能,它通過實現(xiàn)一套JVM能運行的Android代碼,然后在unit test運行的時候去截取android相關的代碼調用,然后轉到Robolectric實現(xiàn)的代碼(shadow objects)去執(zhí)行這個調用的過程。因此它不像模擬器或設備需要dexing(Android dex編譯器將類文件編譯成Android設備上的Dalvik VM使用的格式)、打包、部署和運行的過程,大大減少了測試執(zhí)行的時間。Pivotal實驗室聲稱使用Robolectric可以在28秒內運行1047個測試。
 
除了實現(xiàn)Android里面的類的現(xiàn)有接口,Robolectric還給每個Shadow類額外增加了很多接口,可以讀取對應的Android類的一些狀態(tài)。比如它為ImageView提供了getImageResourceId()方法,測試者可以通過getImageResourceId()接口來確定是不是正確顯示了期望的Image。
 
10. RoboSpock
 
RoboSpock是一個開源的Android測試框架,它提供了簡單的編寫B(tài)DD行為驅動開發(fā)規(guī)范的方法,使用Groovy語言,支持Google Guice庫。RoboSpock合并了Robolectic和Spock的功能。
 
11. Cafe
 
Cafe是百度出品的一個基于Robotium的測試框架,它提供了跨進程的測試解決方案。
 
12. Athrun
 
Athrun 是taobao出的一個移動測試框架,它支持Android和IOS。Android部分是基于Instrumentation,在Android原有的ActivityInstrumentationTestCase2類基礎上進行了擴展,提供了一整套面向對象的API。 IOS上的自動化測試包括注入式自動化框架AppFramework,和基于錄制的自動化框架Athrun_IOS, InstrumentDriver。
 
13. 其他
 
其他自動化框架還有應用于穩(wěn)定性測試的Monkey系列(Monkey, Monkeyrunner, MonkeyTalk), 其中MonkeyTalk 支持iOS 和 Android,它可以為應用進行真實的,功能性交互測試。MonkeyTalk 提供簡單的 “smoke tests”,復雜數(shù)據(jù)驅動的測試套件。MonkeyTalk 支持原生,移動和混合應用,真實設備或者模擬器。MonkeyTalk 使得場景捕獲非常容易,可以記錄高級別,可讀的測試腳本。還有適用于瀏覽器自動測試的Selenium WebDriver,可以真實測試用戶行為,用戶交互如觸摸、手指滾動、長按等,還支持HTML5的一些特性,比如本地存儲、session存儲、應用緩存等。而CTS則是應用于兼容性測試的自動化工具, CTS大部分是基于Junit和儀表盤技術編寫的。還擴展了自動化測試過程,可以自動執(zhí)行用例,自動收集和匯總測試結果。CTS采用XML配置文件的方式將這些測試用例分組成多個測試計劃(plan),第三方也可以創(chuàng)建自己的plan。
 
推薦閱讀:
 
 
 
 
 
本文內容不用于商業(yè)目的,如涉及知識產權問題,請權利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號 2003-2024 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢

添加客服微信 歡迎咨詢測試工具和測試服務

微信客服
問題
反饋
產品
畫冊

掃描二維碼下載澤眾軟件企業(yè)宣傳冊

產品畫冊
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專業(yè)技術售前給您解答(產品試用、技術交流、服務咨詢和商務報價)。

您的信息已成功提交!

我們的客服人員稍后會與您聯(lián)系