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