移動(dòng)端Appium自動(dòng)化測試框架的統(tǒng)治級(jí)優(yōu)勢

眾所周知,現(xiàn)在市面上的移動(dòng)端操作系統(tǒng)已被Android和IOS占領(lǐng)汗茄,其中Android的份額更是在80%以上。那么面對市面上林林總總的自動(dòng)化測試框架和工具递览,為什么說Appium在自動(dòng)化測試框架的統(tǒng)治級(jí)優(yōu)勢呢瞳腌,下面先看一下各大主流框架的對比及優(yōu)勢。

 一儿捧、主流框架對比

  下面對比了市面上主流的幾大框架:

  二、各大框架優(yōu)缺點(diǎn)說明

1颓影、Monkey是Android SDK自帶的測試工具亿汞,在測試過程中會(huì)向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流,如按鍵輸入疗我、觸摸屏輸入南捂、手勢輸入等),實(shí)現(xiàn)對正在開發(fā)的應(yīng)用程序進(jìn)行壓力測試麦牺,也有日志輸出鞭缭。實(shí)際上該工具只能做程序做一些壓力測試,由于測試事件和數(shù)據(jù)都是隨機(jī)的岭辣,不能自定義沦童,所以有很大的局限性。

2偷遗、MonkeyRunner也是Android SDK提供的測試工具。嚴(yán)格意義上來說MonkeyRunner其實(shí)是一個(gè)Api工具包喉酌,比Monkey強(qiáng)大泵喘,可以編寫測試腳本來自定義數(shù)據(jù)、事件涣旨。缺點(diǎn)是腳本用Python來寫,對測試人員來說要求較高霹陡,有比較大的學(xué)習(xí)成本止状。

3攒霹、Espresso是Google的開源自動(dòng)化測試框架。相對于Robotium和UIAutomator集峦,它的特點(diǎn)是規(guī)模更小抠刺、更簡潔,API更加精確高蜂,編寫測試代碼簡單罕容,容易快速上手。因?yàn)槭腔贗nstrumentation的锦秒,所以不能跨App。

4惭笑、UiAutomator也是Android提供的自動(dòng)化測試框架砌左,基本上支持所有的Android事件操作,對比Instrumentation它不需要測試人員了解代碼實(shí)現(xiàn)細(xì)節(jié)(可以用UiAutomatorviewer抓去App頁面上的控件屬性而不看源碼)屁擅〔基于Java,測試代碼結(jié)構(gòu)簡單痰哨、編寫容易、學(xué)習(xí)成本早抠,一次編譯撬讽,所有設(shè)備或模擬器都能運(yùn)行測試悬垃,能跨App(比如:很多App有選擇相冊甘苍、打開相機(jī)拍照,這就是跨App測試)看彼。缺點(diǎn)是只支持SDK 16(Android 4.1)及以上囚聚,不支持Hybird App、WebApp靡挥。

5、Instrumentation是早期Google提供的Android自動(dòng)化測試工具類,雖然在那時(shí)候JUnit也可以對Android進(jìn)行測試毒返,但是Instrumentation允許你對應(yīng)用程序做更為復(fù)雜的測試舷手,甚至是框架層面的。通過Instrumentation你可以模擬按鍵按下男窟、抬起歉眷、屏幕點(diǎn)擊、滾動(dòng)等事件汗捡。Instrumentation是通過將主程序和測試程序運(yùn)行在同一個(gè)進(jìn)程來實(shí)現(xiàn)這些功能,你可以把Instrumentation看成一個(gè)類似Activity或者Service并且不帶界面的組件春缕,在程序運(yùn)行期間監(jiān)控你的主程序艘蹋。缺點(diǎn)是對測試人員來說編寫代碼能力要求較高,需要對Android相關(guān)知識(shí)有一定了解宅荤,還需要配置AndroidManifest.xml文件,不能跨多個(gè)App膘侮。

6、Athrun是淘寶出的一個(gè)移動(dòng)測試框架/平臺(tái)逻锐,同時(shí)支持iOS和Android雕薪。Android部分也是基于Instrumentation,在Android原有的ActivityInstrumentationTestCase2類基礎(chǔ)上進(jìn)行了擴(kuò)展盏档,提供一整套面向?qū)ο蟮腁PI燥爷。

7、Robotium也是基于Instrumentation的測試框架稚配,目前國內(nèi)外用的比較多港华,資料比較多,社區(qū)也比較活躍立宜。缺點(diǎn)是對測試人員來說要有一定的Java基礎(chǔ),了解Android基本組件橙数,不能跨App。

8奠旺、Selendroid:也是基于Instrumentation的測試框架施流,可以測試Native App、Hybird App瞪醋、Web App银受,但是網(wǎng)上資料較少鸦采,社區(qū)活躍度也不大咕幻。

9、Appium是最近比較熱門的框架锣吼,社區(qū)也很活躍蓝厌。這個(gè)框架應(yīng)該是是功能最強(qiáng)大的:

如果對軟件測試、接口測試拓提、自動(dòng)化測試、性能測試寺惫、LR腳本開發(fā)蹦疑、面試經(jīng)驗(yàn)交流。感興趣可以175317069,群內(nèi)會(huì)有不定期的發(fā)放免費(fèi)的資料鏈接判莉,這些資料都是從各個(gè)技術(shù)網(wǎng)站搜集育谬、整理出來的,如果你有好的學(xué)習(xí)資料可以私聊發(fā)我膛檀,我會(huì)注明出處之后分享給大家。

a.它的優(yōu)點(diǎn):

  開源泳炉;

  支持Native App嚎杨、Hybird App、Web App刨肃;

  支持Android、iOS黄痪、Firefox OS盔然;

Server也是跨平臺(tái)的,你可以使用Mac OS X轻纪、Windows或者Linux刻帚;

 b.它的哲理是:

  用Appium自動(dòng)化測試不需要重新編譯App;

支持很多語言來編寫測試腳本崇众,Java顷歌、Javascript、PHP眯漩、Python、C#舱卡、Ruby等主流語言队萤;

  不需要為了自動(dòng)化測試來重造輪子,因?yàn)閿U(kuò)展了WebDriver舍杜。(WebDriver是測試WebApps的一種簡單赵辕、快速的自動(dòng)化測試框架,所以有Web自動(dòng)化測試經(jīng)驗(yàn)的測試人員可以直接上手)熬词;

  移動(dòng)端自動(dòng)化測試應(yīng)該是開源的;

 如果對軟件測試歪今、接口測試颜矿、自動(dòng)化測試、性能測試骑疆、LR腳本開發(fā)箍铭、面試經(jīng)驗(yàn)交流。感興趣可以175317069诈火,群內(nèi)會(huì)有不定期的發(fā)放免費(fèi)的資料鏈接冷守,這些資料都是從各個(gè)技術(shù)網(wǎng)站搜集、整理出來的拍摇,如果你有好的學(xué)習(xí)資料可以私聊發(fā)我充活,我會(huì)注明出處之后分享給大家。

c.它的設(shè)計(jì)理念:

  Client/Server架構(gòu)混卵,運(yùn)行的時(shí)候Server端會(huì)監(jiān)聽Client端發(fā)過來的命令淮菠,翻譯這些命令發(fā)送給移動(dòng)設(shè)備或模擬器荤堪,然后移動(dòng)設(shè)備或模擬器做出響應(yīng)的反應(yīng)。正是因?yàn)檫@種架構(gòu)拥知,所以Client可以使用Appium client libraries多種語言的測試腳本碎赢,而且Server端完全可以部署在服務(wù)器上,甚至云服務(wù)器襟齿。

Session,每個(gè)Client連接到Server以后都會(huì)有一個(gè)Session ID猜欺,而且Client發(fā)送命令到Server端都需要這個(gè)Session ID开皿,因?yàn)檫@個(gè)seesion id代表了你所打開的瀏覽器或者是移動(dòng)設(shè)備的模擬器。所以你甚至可以打開N個(gè)Session赋荆,同時(shí)測試不同的設(shè)備或模擬器窄潭。

  Desired Capabilities,其實(shí)就是一個(gè)鍵值對狈孔,設(shè)置一些測試的相關(guān)信息來告訴Server端均抽,我們需要測試iOS、還是Android油挥,或者換是WebApp等信息。

  Appium Server是Node.js寫的深寥,所以可以直接用NPM來進(jìn)行安裝。

  Appium Clients则酝,Mac OS和Win下提供GUI闰集,不需要裝Node.js,方便測試人員操作爽雄。

 d.相關(guān)限制:

  如果你在Windows使用Appium沐鼠,你沒法使用預(yù)編譯專用于OS X的.app文件叹谁,因?yàn)锳ppium依賴OS X專用的庫來支持iOS測試焰檩,所以在Windows平臺(tái)你不能測試iOS Apps侧漓。這意味著你只能通過在Mac上來運(yùn)行iOS測試。

 三藤违、總結(jié)

  從方面的對比和優(yōu)缺點(diǎn)分析不難看出纵揍。對于需要支持跨平臺(tái)和需要支持WebView的應(yīng)用,Appium的優(yōu)勢就比較明顯了璧榄,因?yàn)锳ppium擁有了以上幾大框架的所有優(yōu)點(diǎn):跨App吧雹,支持Native App、Hybird App搓蚪、Web App丁鹉,還支持N種語言來編寫你的測試腳本。如果是只針對Android平臺(tái)的應(yīng)用雳灾,我還是比較推薦UiAutomator冯凹,特別是后面推出的UiAutomator2.0,此外团驱,這兩年空凸,Google又推出了Espresso呀洲,它也應(yīng)該是一個(gè)很優(yōu)秀的框架,但是個(gè)人認(rèn)為適合編程基礎(chǔ)一般或剛?cè)腴T同學(xué)(反正我是有點(diǎn)用不太習(xí)慣)道逗。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末滓窍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子此蜈,更是在濱河造成了極大的恐慌噪生,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異桨嫁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)璃吧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門肚逸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人朦促,你說我怎么就攤上這事务冕。” “怎么了臊旭?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵箩退,是天一觀的道長戴涝。 經(jīng)常有香客問我钻蔑,道長奸鸯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任窗怒,我火速辦了婚禮蓄拣,結(jié)果婚禮上扬虚,老公的妹妹穿的比我還像新娘。我一直安慰自己弯蚜,他們只是感情好孔轴,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碎捺,像睡著了一般路鹰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上收厨,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天晋柱,我揣著相機(jī)與錄音,去河邊找鬼诵叁。 笑死雁竞,一個(gè)胖子當(dāng)著我的面吹牛拧额,可吹牛的內(nèi)容都是我干的碑诉。 我是一名探鬼主播,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼侥锦,長吁一口氣:“原來是場噩夢啊……” “哼进栽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起恭垦,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬榮一對情侶失蹤快毛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后番挺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唠帝,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年玄柏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了襟衰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡粪摘,死狀恐怖瀑晒,靈堂內(nèi)的尸體忽然破棺而出阀湿,到底是詐尸還是另有隱情,我是刑警寧澤瑰妄,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站映砖,受9級(jí)特大地震影響间坐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜邑退,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一竹宋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧地技,春花似錦蜈七、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至作谚,卻和暖如春三娩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背妹懒。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來泰國打工雀监, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人眨唬。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓会前,卻偏偏與公主長得像,于是被迫代替她去往敵國和親匾竿。 傳聞我的和親對象是個(gè)殘疾皇子瓦宜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 大綱 1.簡介 在日常開發(fā)中,自動(dòng)化測試往往是開發(fā)人員比較頭痛的事搂橙,特別是UI的自動(dòng)化測試更是投入大收益小歉提,很多公...
    KingOfLion閱讀 998評(píng)論 0 3
  • 老王是我大學(xué)同學(xué),很有愛心的一個(gè)朋友区转。為人仗義善良苔巨,負(fù)責(zé)任。 就這個(gè)二愣子昨天下午他的閨女出生了废离。真替他高興侄泽。還說...
    xue海洋閱讀 241評(píng)論 1 1
  • 1988年7月15日,一所大學(xué)為畢業(yè)生的狂熱所充盈蜻韭。籍著這股躁動(dòng)悼尾,輕浮的德克斯特(吉姆·斯特吉斯 Jim Stur...
    閑云漫步人閱讀 463評(píng)論 6 0
  • 從來沒有覺得自己是一個(gè)能堅(jiān)持的人柿扣,但是今天才發(fā)現(xiàn),自從開始改變以后闺魏,每一天都過得充實(shí)圓滿未状。 寫作這么多天下來,最大...
    晨光花開閱讀 207評(píng)論 2 2