常用自动化框架简单的分析与介绍
目前常用的可用于APP自動(dòng)化測(cè)試的框架有以下幾個(gè):
1、Monkey是Android SDK自帶的測(cè)試工具,在測(cè)試過(guò)程中會(huì)向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢(shì)輸入等),實(shí)現(xiàn)對(duì)正在開(kāi)發(fā)的應(yīng)用程序進(jìn)行壓力測(cè)試,也 有日志輸出。實(shí)際上該工具只能做程序做一些壓力測(cè)試,由于測(cè)試事件和數(shù)據(jù)都是隨機(jī)的,不能自定義,所以有很大的局限性。
2、MonkeyRunner也是Android SDK提供的測(cè)試工具。嚴(yán)格意義上來(lái)說(shuō)MonkeyRunner其實(shí)是一個(gè)Api工具包,比Monkey強(qiáng)大,可以編寫(xiě)測(cè)試腳本來(lái)自定義數(shù)據(jù)、事件。缺點(diǎn)是腳本用Python來(lái)寫(xiě),對(duì)測(cè)試人員來(lái)說(shuō)要求較高,有比較大的學(xué)習(xí)成本。
3、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ō)編寫(xiě)代碼能力要求較高,需要對(duì) Android相關(guān)知識(shí)有一定了解,還需要配置AndroidManifest.xml文件,不能跨多個(gè)App。
4、UiAutomator 也是Android提供的自動(dòng)化測(cè)試框架,基本上支持所有的Android事件操作,對(duì)比Instrumentation它不需要測(cè)試人員了解代碼實(shí)現(xiàn)細(xì)節(jié) (可以用UiAutomatorviewer抓去App頁(yè)面上的控件屬性而不看源碼)。基于Java,測(cè)試代碼結(jié)構(gòu)簡(jiǎn)單、編寫(xiě)容易、學(xué)習(xí)成本,一次編譯, 所有設(shè)備或模擬器都能運(yùn)行測(cè)試,能跨App(比如:很多App有選擇相冊(cè)、打開(kāi)相機(jī)拍照,這就是跨App測(cè)試)。缺點(diǎn)是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。
5、Espresso是Google的開(kāi)源自動(dòng)化測(cè)試框架。相對(duì)于Robotium和UIAutomator,它的特點(diǎn)是規(guī)模更小、更簡(jiǎn)潔,API更加精確,編寫(xiě)測(cè)試代碼簡(jiǎn)單,容易快速上手。因?yàn)槭腔贗nstrumentation的,所以不能跨App。
6、Selendroid:也是基于Instrumentation的測(cè)試框架,可以測(cè)試Native App、Hybird App、Web App,但是網(wǎng)上資料較少,社區(qū)活躍度也不大。
7、Robotium也是基于Instrumentation的測(cè)試框架,目前國(guó)內(nèi)外用的比較多,資料比較多,社區(qū)也比較活躍。缺點(diǎn)是對(duì)測(cè)試人員來(lái)說(shuō)要有一定的Java基礎(chǔ),了解Android基本組件,不能跨App。
8、Athrun是 淘寶出的一個(gè)移動(dòng)測(cè)試框架/平臺(tái),同時(shí)支持iOS和Android。Android部分也是基于Instrumentation,在Android原有的 ActivityInstrumentationTestCase2類基礎(chǔ)上進(jìn)行了擴(kuò)展,提供一整套面向?qū)ο蟮腁PI。
9、Appium是最近比較熱門(mén)的框架,社區(qū)也很活躍。這個(gè)框架應(yīng)該是是功能最強(qiáng)大的,
-
它的優(yōu)點(diǎn):
- 開(kāi)源;
- 支持Native App、Hybird App、Web App;
- 支持Android、iOS、Firefox OS;
- Server也是跨平臺(tái)的,你可以使用Mac OS X、Windows或者Linux;
它的哲理是:
- 用Appium自動(dòng)化測(cè)試不需要重新編譯App;
- 支持很多語(yǔ)言來(lái)編寫(xiě)測(cè)試腳本,Java、Javascript、PHP、Python、C#、Ruby等主流語(yǔ)言;
- 不需要為了自動(dòng)化測(cè)試來(lái)重造輪子,因?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)該是開(kāi)源的;
相關(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)編寫(xiě)你的測(cè)試腳本。
-
轉(zhuǎn)載于:https://www.cnblogs.com/crdym/p/5092006.html
總結(jié)
以上是生活随笔為你收集整理的常用自动化框架简单的分析与介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql数据库-mysql数据定义语言
- 下一篇: 指针分析