您好,登錄后才能下訂單哦!
這篇文章主要介紹“Android常用9種自動化測試框架是什么”,在日常操作中,相信很多人在Android常用9種自動化測試框架是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Android常用9種自動化測試框架是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
移動APP自動化測試的難點
移動APP的UI自動化測試長久以來一直是一個難點,難點在于UI的”變”, 變化導致自動化用例的大量維護。從分層測試的角度,自動化測試應該逐層進行。最大量實現自動化測試的應該是單元測試,最容易實現也最容易在早期發(fā)現問題;其次是接口級測試,以驗證邏輯為目的進行自動化,由于接口的相對穩(wěn)定,自動化測試成本相對也可以接受;自動化成本最大的便是UI級自動化測試,然而UI界面是直接反饋給用戶的效果展示,適度的尤其是BVT級的自動化測試也是非常必要的。
為了擺脫這些,需要引進一些自動化測試來協(xié)助我們。趁現在有空我來總結下,Android常用的幾種自動化測試框架的異同,使測試人員在選擇自動化框架時有所參考!
Android幾種常用自動化測試框架對比
1、Monkey是Android SDK自帶的測試工具,在測試過程中會向系統(tǒng)發(fā)送偽隨機的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發(fā)的應用程序進行壓力測試,也有日志輸出。實際上該工具只能做程序做一些壓力測試,由于測試事件和數據都是隨機的,不能自定義,所以有很大的局限性。
2、MonkeyRunner也是android SDK提供的測試工具。嚴格意義上來說MonkeyRunner其實是一個Api工具包,比Monkey強大,可以編寫測試腳本來自定義數據、事件。缺點是腳本用Python來寫,對測試人員來說要求較高,有比較大的學習成本。
3、Robotium也是基于Instrumentation的測試框架,主要針對某一個APK進行自動化測試,APK可以有源碼,也可以沒有源碼,功能強大;缺點是對測試人員來說要有一定的Java基礎,了解Android基本組件,不能跨App。
4、Instrumentation是早期Google提供的Android自動化測試工具類,雖然在那時候JUnit也可以對Android進行測試,但是Instrumentation允許你對應用程序做更為復雜的測試,甚至是框架層面的,是很多其它測試框架的基礎,可以在同進程中加載被測組件。它有很多豐富的高層封裝,使用者可以使用基于instrumentation的其他框架,避免過多二次開發(fā)量。但Instrumentation不支持跨應用,導致基于instrumentation的框架都繼承了這個缺點。
5、UIAutomator是由谷歌提供的測試框架,它提供了原生Android app和游戲的高級UI測試。基本上支持所有的Android事件操作,與Instrumentation對比,它不需要測試人員了解代碼實現細節(jié)(可以用UiAutomatorviewer抓去App頁面上的控件屬性而不看源碼)。
基于Java,測試代碼結構簡單、編寫容易、學習成本,一次編譯,所有設備或模擬器都能運行測試,能跨App(比如:很多App有選擇相冊、打開相機拍照,這就是跨App測試)。
缺點是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。
6、Espresso是Google的開源自動化測試框架。相對于Robotium和UIAutomator,它的特點是規(guī)模更小、更簡潔、API更加精確、編寫測試代碼簡單、容易快速上手。因為是基于Instrumentation的,所以不能跨App。
7、Selendroid:是一個基于Instrumentation的一個框架. 完全兼容Webdriver協(xié)議。 Selendroid 可以在模擬器和實際設備上使用,也可以集成網格節(jié)點作為縮放和并行測試。
8、Athrun是淘寶出的一個移動測試框架/平臺,同時支持iOS和Android。Android部分也是基于Instrumentation,在Android原有的ActivityInstrumentationTestCase2類基礎上進行了擴展,提供一整套面向對象的API。
9、Appium是一個開源的、跨平臺的自動化測試工具,這個框架應該是功能最強大的,下面我將詳細介紹。
Appium的優(yōu)缺點
它的優(yōu)點:
①開源;
②支持Native App、Hybird App、Web App;
③支持Android、ios、Firefox OS;
④Server也是跨平臺的,你可以使用Mac OS X、Windows或者Linux;
它的哲理是:
用Appium自動化測試不需要重新編譯App;
支持很多語言來編寫測試腳本,Java、JavaScript、PHP、python、C#、Ruby等主流語言;
不需要為了自動化測試來重造輪子,因為擴展了WebDriver。(WebDriver是測試WebApps的一種簡單、快速的自動化測試框架,所以有Web自動化測試經驗的測試人員可以直接上手);
移動端自動化測試應該是開源的;
到此,關于“Android常用9種自動化測試框架是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。