常見(jiàn)Android自動(dòng)化測(cè)試框架有哪些

發(fā)布時(shí)間:2021-04-08

一、Monkey
  是Android SDK自帶的測(cè)試工具,是一個(gè)命令行工具,可以運(yùn)行在模擬器中或者實(shí)際設(shè)備中,它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入,觸摸屏輸入,手勢(shì)輸入等),實(shí)現(xiàn)對(duì)正在開(kāi)發(fā)的應(yīng)用程序進(jìn)行壓力測(cè)試。由于測(cè)試事件和數(shù)據(jù)都是隨機(jī)的,不能自定義,所以有很大的局限性。
 
二、MonkeyRunner
  是Android SDK提供的測(cè)試工具。嚴(yán)格意義上來(lái)說(shuō)MonkeyRunner其實(shí)是一個(gè)Api工具包,比Monkey強(qiáng)大,可以編寫測(cè)試腳本來(lái)自定義數(shù)據(jù)、事件。缺點(diǎn)是腳本(jython(java語(yǔ)言))用Python(Python(C語(yǔ)言))來(lái)寫,對(duì)測(cè)試人員來(lái)說(shuō)要求較高,有比較大的學(xué)習(xí)成本;使用By id/name/text方法操控(hierarchyviewer),執(zhí)行速度太慢。典型應(yīng)用:安裝,卸載,啟動(dòng)Activity,點(diǎn)擊X,Y坐標(biāo),發(fā)送按鍵事件,drag,截屏等。
 
三、UIAutomator
  是Android提供的自動(dòng)化測(cè)試框架,基本上支持所有的Android事件操作。是用來(lái)做UI測(cè)試的,也就是普通的手工測(cè)試,點(diǎn)擊每個(gè)控件元素看看輸出的結(jié)果是否符合預(yù)期。對(duì)比Instrumentation它不需要測(cè)試人員了解代碼實(shí)現(xiàn)細(xì)節(jié)(可以用UiAutomatorviewer抓去App頁(yè)面上的控件屬性而不看源碼)。能跨App(比如:很多App有選擇相冊(cè)、打開(kāi)相機(jī)拍照,這就是跨App測(cè)試)。缺點(diǎn)是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。
 
四、Robotium  
  是基于Instrumentation的測(cè)試框架,主要針對(duì)android平臺(tái)的應(yīng)用進(jìn)行黑盒自動(dòng)化測(cè)試,它提供了模擬各種手勢(shì)操作(點(diǎn)擊,長(zhǎng)按,滑動(dòng)等)、查找和斷言機(jī)制的API,能夠?qū)Ω鞣N控件進(jìn)行操作。Robotium結(jié)合android官方提供的測(cè)試框架達(dá)到對(duì)應(yīng)用程序進(jìn)行自動(dòng)化測(cè)試。另外,Robotium 4.0版本已經(jīng)支持對(duì)WebView的操作。Robotium對(duì)Activity,Dialog,Toast,Menu都是支持的。支持Native app、Hybird App。缺點(diǎn)不能跨App。
 
  錄制工具Radar(不穩(wěn)定)、Testin(不提供源碼)、官網(wǎng)工具(收費(fèi))
  開(kāi)發(fā)環(huán)境:腳本語(yǔ)言java;Eclipse中引入:robotium-solo-**.jar
 
五、MobileRunner
  MobileRunner是國(guó)內(nèi)專業(yè)的支持IOS及Android上App、小程序、H5應(yīng)用的自動(dòng)化測(cè)試工具,實(shí)現(xiàn)7*24小時(shí)的自動(dòng)化回歸測(cè)試、功能測(cè)試、兼容性測(cè)試,讓測(cè)試更簡(jiǎn)單。
 
六、Appium 
  是開(kāi)源的移動(dòng)端自動(dòng)化測(cè)試框架;支持Native App、Hybird App、Web App;支持Android、iOS、Firefox OS;是跨平臺(tái)的可以在mac,windows以及l(fā)inux系統(tǒng)上。用Appium自動(dòng)化測(cè)試不需要重新編譯App;腳本語(yǔ)言:Java、python、ruby、C#、Objective C、PHP等主流語(yǔ)言。
 
  相關(guān)限制:如果你在Windows使用Appium,你沒(méi)法使用預(yù)編譯專用于OS X的.app文件,因?yàn)锳ppium依賴OS X專用的庫(kù)來(lái)支持iOS測(cè)試,所以在Windows平臺(tái)你不能測(cè)試iOS Apps。這意味著你只能通過(guò)在Mac上來(lái)運(yùn)行iOS測(cè)試。
 
  總結(jié):在iOS部分是封裝了UIAutomation;Android 4.2以上是用UiAutomator,Android 2.3 ~ 4.1用的是Instrumentation,也就說(shuō)Appium同時(shí)封裝了UiAutomator和Instrumentation。所以Appium擁有了以上幾大框架的所有優(yōu)點(diǎn):跨App,支持Native App、Hybird App、Web App,還支持N種語(yǔ)言來(lái)編寫你的測(cè)試腳本。
 
  appium內(nèi)核基于UiAutomator來(lái)識(shí)別元素。如果只有Android app產(chǎn)品,推薦選擇robotium,提供的API比appium好用;既有IOS和Android,則使用appium
 
七、Instrumentation
  是早期Google提供的Android自動(dòng)化測(cè)試工具類,雖然在那時(shí)候JUnit也可以對(duì)Android進(jìn)行測(cè)試,但是Instrumentation允許你對(duì)應(yīng)用程序做更為復(fù)雜的測(cè)試,甚至是框架層面的。通過(guò)Instrumentation你可以模擬按鍵按下、抬起、屏幕點(diǎn)擊、滾動(dòng)等事件。Instrumentation是通過(guò)將主程序和測(cè)試程序運(yùn)行在同一個(gè)進(jìn)程來(lái)實(shí)現(xiàn)這些功能,你可以把Instrumentation看成一個(gè)類似Activity或者Service并且不帶界面的組件,在程序運(yùn)行期間監(jiān)控你的主程序。缺點(diǎn)是對(duì)測(cè)試人員來(lái)說(shuō)編寫代碼能力要求較高,需要對(duì)Android相關(guān)知識(shí)有一定了解,還需要配置AndroidManifest.xml文件,不能跨多個(gè)App。
 
八、Espresso
  是Google的開(kāi)源自動(dòng)化測(cè)試框架。相對(duì)于Robotium和UIAutomator,它的特點(diǎn)是規(guī)模更小、更簡(jiǎn)潔,API更加精確,編寫測(cè)試代碼簡(jiǎn)單,容易快速上手。因?yàn)槭腔贗nstrumentation的,所以不能跨App。
 
九、Selendroid
  是基于Instrumentation的測(cè)試框架,可以測(cè)試Native App、Hybird App、Web App,但是網(wǎng)上資料較少,社區(qū)活躍度也不大。
本文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問(wèn)題,請(qǐng)權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號(hào) 2003-2024 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢

添加客服微信 歡迎咨詢測(cè)試工具和測(cè)試服務(wù)

微信客服
問(wèn)題
反饋
產(chǎn)品
畫冊(cè)

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

產(chǎn)品畫冊(cè)
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。

您的信息已成功提交!

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