0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Android和iOS 測試五個最好的開源自動化工具

lhl545545 ? 來源:電子發(fā)燒友網(wǎng) ? 2018-02-06 15:48 ? 次閱讀

前言

本文主要介紹AndroidiOS 五個最好的開源自動化工具,這里整理了相關(guān)資料,希望能幫助測試軟件的朋友,有需要的看下。

自動化測試在產(chǎn)品測試上有著非常重要的作用。實(shí)現(xiàn)測試自動化有多種積極的方式,包括最大限度地減少測試執(zhí)行時間;在關(guān)鍵的發(fā)布階段,用更少的時間確保更大的覆蓋范圍;在產(chǎn)品開發(fā)階段,可靠又重復(fù)性地運(yùn)行以確保沒有引進(jìn)回歸問題。最大限度地減少重復(fù)性回歸測試循環(huán)時的人為錯誤和疏忽的風(fēng)險(xiǎn)。

在市場上有很多可用的工具,開源的或要付費(fèi)的。雖然付費(fèi)和開源工具各有利弊,但是后者在自動化測試社區(qū)得到了廣泛的應(yīng)用。根據(jù)項(xiàng)目需求來選擇合適的自動化工具是非常棘手的。

下面介紹5個最佳的iOS和Android開源自動化工具。

1.Calabash(適用于Android和iOS)

Calabash是一個開源的驗(yàn)收測試框架,支持Android和iOS自動化。Calabash為Android和iOS自動化測試提供了一個單獨(dú)的庫。這是一個跨平臺的框架,支持 Cucumber,Cucumber能讓你用自然的英語語言表述app的行為,實(shí)現(xiàn)BDD(Behavior Driven Development,行為驅(qū)動開發(fā))。

Calabash提供了一個橋梁,允許Cucumber測試對iOS和Android運(yùn)行和驗(yàn)證。Cucumber測試使用一列語句寫入,這些語句會形成很多測試場景。Cucumber中的所有語句使用Ruby定義。

在Calabash,Cucumber語句只能被定義一次,但可以在Cucumber腳本的不同場景中重復(fù)使用。

實(shí)際測試是用Gherkin寫的,依靠Ruby代碼的支持,并在Cucumber框架的上下文中運(yùn)行。

優(yōu)點(diǎn):

◆大型社區(qū)支持。

◆簡單,類似英語表述的測試語句。

◆支持在屏幕上的所有動作,如滑動,縮放,旋轉(zhuǎn),敲擊等。

◆大型且熱心的社區(qū)。

◆跨平臺開發(fā)支持(同樣的代碼在Android和iOS設(shè)備中都適用)。

缺點(diǎn):

◆測試步驟失敗后,將跳過所有的后續(xù)步驟。這可能會導(dǎo)致錯過更嚴(yán)重的產(chǎn)品問題。

◆需要時間來進(jìn)行測試,因?yàn)樗紫瓤偸悄J(rèn)安裝app。但是,這種設(shè)置可以通過在代碼中配置一個鉤子(hook)覆蓋掉。

◆需要Calabash框架安裝在ios的ipa文件中。

◆我們必須要有iOS的app代碼。

◆除了Ruby,對其他語言不友好。

2.Appium(Android和iOS)

Appium是Sauce Labs出品的一個開源的自動化測試框架,用于原生、混合和移動的web app。框架內(nèi)的Appium庫函數(shù)調(diào)用Appium服務(wù)器是在操作連接設(shè)備的后臺運(yùn)行的。它在內(nèi)部使用JSONWireProtocol,來與使用 Selenium的WebDriver的iOS和Android app進(jìn)行互動。

不像Calabash只支持Ruby開發(fā),在框架中使用Appium時,你可以從Java、Python和Ruby,以及所有其他Selenium WebDriver支持的語言中選擇。

Appium服務(wù)器被托管在Node服務(wù)器上。你可以通過觸發(fā)一組Node命令來啟動Appium服務(wù)器。使用Appium Standalone Application作為服務(wù)器(從Appium網(wǎng)站下載),Inspector工具可對app的所有定位器提供查找/識別/操作的能力。

優(yōu)點(diǎn):

◆支持多種語言。

◆不需要訪問源代碼。

◆跨平臺腳本開發(fā)。

◆大型社區(qū)支持。

◆支持Mac上的腳本記錄。

◆使用Appium Server應(yīng)用程序的Inspector工具提取標(biāo)識符。

◆通過Appium Server的桌面應(yīng)用程序?qū)elendroid內(nèi)置支持。

◆它還使用供應(yīng)商提供的框架:適用于iOS的UIAutomation ,分別適用于Android 4.2+和 2.3+的UIAutomator和Selendroid。

◆支持物理設(shè)備與仿真器。

◆支持原生,混合和移動的web自動化應(yīng)用程序。

缺點(diǎn):

◆Appium Server桌面應(yīng)用程序的發(fā)布常常不穩(wěn)定。

◆腳本記錄不適用于Application服務(wù)器對于Windows OS的桌面應(yīng)用程序。

3.Robotium(Android)

Robotium是一個開源的測試框架,用于開發(fā)功能性,系統(tǒng),和驗(yàn)收測試場景。它與Selenium非常相似,除了Robotium只適用于Android。它注冊在Apache License 2.0下。

因?yàn)樗坏唵危矣志哂袆?chuàng)建強(qiáng)大又可靠的自動化場景的能力,因而它在自動化測試社區(qū)廣泛流行。

它采用運(yùn)行時綁定到GUI組件。它安裝了一個測試用例套件作為在Android設(shè)備或仿真器上的應(yīng)用程序,并提供用于執(zhí)行測試的真實(shí)環(huán)境。

優(yōu)點(diǎn):

◆容易在最短的時間內(nèi)編寫測試腳本。

◆預(yù)裝自動化app是可能的。

◆自動跟隨當(dāng)前activity。

◆由于運(yùn)行時綁定到GUI組件,所以相比Appium,它的測試執(zhí)行更快,更強(qiáng)大。

◆不訪問代碼或不知道app實(shí)現(xiàn),也可以工作。

◆支持Activities、Dialogs、Toasts、Menus、Context Menus和其他Android SDK控件。

缺點(diǎn):

◆不能處理flash和web組件。

◆支持Java開發(fā)。

◆在舊設(shè)備上會變得很慢。

◆由于不支持iOS設(shè)備,當(dāng)自動化測試同時覆蓋 android與iOS的情況時,測試會被中斷。

◆沒有內(nèi)置的記錄和回放功能。 使用記錄功能需要 TestDroid 和 Robotium Recorder 這樣收費(fèi)工具。

4.Frank(iOS)

Frank是一個iOS app的自動化框架,允許使用Cucumber編寫結(jié)構(gòu)化英語句子的測試場景。

Frank要求測試時在應(yīng)用程序內(nèi)部編譯,這意味著對源代碼的改變是強(qiáng)制性的。這是一個使用Cucumber和JSON組合命令的工具,命令發(fā)送到在本地應(yīng)用程序內(nèi)部運(yùn)行的服務(wù)器上,并利用UISpec運(yùn)行命令。

優(yōu)點(diǎn):

◆測試場景是在Cucumber的幫助下,用可理解的英語句子寫的。

◆Symbiote——包含實(shí)時檢查工具。

◆如果團(tuán)隊(duì)有關(guān)于web selenium和cucumber自動化框架的經(jīng)驗(yàn),也有效。

◆活躍的社區(qū)支持。

◆不斷擴(kuò)大中的庫。

缺點(diǎn):

◆對手勢的支持有限。

◆在設(shè)備上運(yùn)行測試有點(diǎn)難。

◆修改配置文件需要在實(shí)際設(shè)備上運(yùn)行。

◆記錄功能不可用。

5.UIAutomator(Android)

UIAutomator是由谷歌提供的測試框架,它提供了原生Android app和游戲的高級UI測試。這是一個包含API的Java庫,用來創(chuàng)建功能性UI測試,還有運(yùn)行測試的執(zhí)行引擎。該庫自帶Android SDK。有很多教程可供初學(xué)者上手。優(yōu)點(diǎn)是它在運(yùn)行訪問不同的進(jìn)程時,會給JUnit測試案例特權(quán)。雖然這對本地自動化app既好又更簡單,但是它對 web自動化視圖非常有限或幾乎沒有任何支持。它僅支持使用API level 16及以上的設(shè)備,不過這也不算什么很大的因素,因?yàn)楝F(xiàn)在大多數(shù)的app支持API level 19及以上。

優(yōu)點(diǎn):

◆簡單易學(xué)的教程。

◆庫由谷歌社區(qū)支持和維護(hù)。

◆第三方支付集成了基于云計(jì)算的測試管理。

缺點(diǎn):

◆僅支持android 4.1及以上。

◆不支持腳本記錄。

◆支持的重點(diǎn)是Java。

◆你不能獲得當(dāng)前活動或儀表化。

◆目前不支持web視圖,因此是混合app。

◆庫支持使用Java,因此如果有人想和使用Ruby的cucumber混合,會很困難。不過Java有它自己的BDD框架,雖然在實(shí)踐中用到的也不多。

以上就是對Android 和IOS 自動化測試的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)資料,謝謝大家對本站的支持!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3937

    瀏覽量

    127490
  • iOS
    iOS
    +關(guān)注

    關(guān)注

    8

    文章

    3395

    瀏覽量

    150696
收藏 人收藏

    評論

    相關(guān)推薦

    DevSecOps自動化在安全關(guān)鍵型軟件開發(fā)中的實(shí)踐、Helix QAC& Klocwork等SAST工具應(yīng)用

    DevSecOps自動化旨在通過在軟件開發(fā)生命周期的各個階段集成安全流程,使用自動化工具和最佳實(shí)踐來簡化開發(fā)、安全和運(yùn)營。實(shí)現(xiàn)DevSecOps自動化流程的一重要部分就是使用SAST
    的頭像 發(fā)表于 01-03 16:05 ?60次閱讀
    DevSecOps<b class='flag-5'>自動化</b>在安全關(guān)鍵型軟件開發(fā)中的實(shí)踐、Helix QAC&amp;amp; Klocwork等SAST<b class='flag-5'>工具</b>應(yīng)用

    Appium +iOS自動化測試教程(實(shí)踐、總結(jié) 、踩坑)

    項(xiàng)目閑置下來了,終于抽空有時間搞自動化了,看了下網(wǎng)上的教程基本通篇都是android自動化的介紹 ,ios自動化方面的內(nèi)容網(wǎng)上簡介的少之可憐
    的頭像 發(fā)表于 11-11 09:42 ?1007次閱讀
    Appium +<b class='flag-5'>iOS</b><b class='flag-5'>自動化</b><b class='flag-5'>測試</b>教程(實(shí)踐、總結(jié) 、踩坑)

    納米軟件電源自動測試系統(tǒng)與傳統(tǒng)系統(tǒng)修改方案相比有哪些優(yōu)勢?

    納米軟件電源自動測試系統(tǒng)與傳統(tǒng)電源測試系統(tǒng)在功能方面有著很大的不同和差異。
    的頭像 發(fā)表于 09-13 11:57 ?295次閱讀
    納米軟件電<b class='flag-5'>源自動測試</b>系統(tǒng)與傳統(tǒng)系統(tǒng)修改方案相比有哪些優(yōu)勢?

    源自動測試系統(tǒng)的技術(shù)原理和應(yīng)用場景

    源自動測試系統(tǒng)的技術(shù)原理 電源自動測試系統(tǒng)是一種用于電源性能自動化測試的集成系統(tǒng),其技術(shù)原理主要基于軟件和硬件的緊密結(jié)合。該系統(tǒng)通過以下方式實(shí)現(xiàn)對電源模塊或開關(guān)電源的全面
    發(fā)表于 09-06 15:36

    納米軟件帶您了解電源自動測試設(shè)備的儀器靈活接入與擴(kuò)展

    在ATECLOUD智能云測試平臺上開發(fā)的電源自動測試系統(tǒng),對比傳統(tǒng)自動化測試系統(tǒng),其獨(dú)特之處在于擁有極為靈活的系統(tǒng)架構(gòu)。這種架構(gòu)的靈活性體現(xiàn)在自動化
    的頭像 發(fā)表于 09-03 16:06 ?269次閱讀
    納米軟件帶您了解電<b class='flag-5'>源自動測試</b>設(shè)備的儀器靈活接入與擴(kuò)展

    開關(guān)電源自動化測試設(shè)備:如何實(shí)現(xiàn)自動化測試?

    開關(guān)電源自動化測試設(shè)備是將測試軟件和測試硬件集成在一電源測試柜中的ate
    的頭像 發(fā)表于 08-30 18:19 ?1313次閱讀
    開關(guān)電<b class='flag-5'>源自動化</b><b class='flag-5'>測試</b>設(shè)備:如何實(shí)現(xiàn)<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>?

    谷歌針對AndroidiOS版Chrome發(fā)布項(xiàng)更新

    在移動設(shè)備上搜索內(nèi)容應(yīng)該像在電腦上一樣流暢。近期,我們針對 AndroidiOS 版 Chrome 發(fā)布了項(xiàng)更新,旨在讓您能夠更輕松地在手機(jī)或平板電腦上進(jìn)行搜索。
    的頭像 發(fā)表于 08-09 16:56 ?769次閱讀

    源自動測試系統(tǒng)ate為您提供DC-DC電源模塊測試方案

    源自動測試系統(tǒng)已然成為電源模塊測試的重要方式,為了讓電源測試更快更智能,納米軟件為您提供DC-DC電源模塊測試測試解決方案,包括儀器選型、
    的頭像 發(fā)表于 07-12 16:05 ?486次閱讀
    電<b class='flag-5'>源自動測試</b>系統(tǒng)ate為您提供DC-DC電源模塊<b class='flag-5'>測試</b>方案

    戶外便攜儲能電源自動化測試系統(tǒng)高效完成電源測試

    納米軟件電源自動化測試系統(tǒng)是基于ATECLOUD平臺開發(fā)的、針對儲能電源及其它電源模塊的自動化測試系統(tǒng)方案。該系統(tǒng)實(shí)現(xiàn)0代碼開發(fā),對測試儀器
    的頭像 發(fā)表于 07-08 16:44 ?514次閱讀
    戶外便攜儲能電<b class='flag-5'>源自動化</b><b class='flag-5'>測試</b>系統(tǒng)高效完成電源<b class='flag-5'>測試</b>

    單元測試、集成測試自動化工具

    CoverageMaster winAMS :?適用于嵌入式目標(biāo)機(jī)代碼的單元測試/集成測試工具 全面支持嵌入式微機(jī)!驗(yàn)證嵌入式C/C++軟件 實(shí)施以模塊為單位的自動化單元測試工具 不需
    的頭像 發(fā)表于 06-26 13:41 ?456次閱讀
    單元<b class='flag-5'>測試</b>、集成<b class='flag-5'>測試</b><b class='flag-5'>自動化工具</b>

    軟件接口自動化測試,使用軟件工具+工裝治具測試

    軟件接口自動化測試結(jié)合軟件工具與工裝治具的應(yīng)用,極大地提升了測試的效率和質(zhì)量,是現(xiàn)代軟件開發(fā)不可或缺的一部分。通過精心選擇和應(yīng)用合適的工具
    的頭像 發(fā)表于 06-07 15:59 ?1329次閱讀

    基于TAE的數(shù)字鑰匙自動化測試解決方案

    通過自動化測試執(zhí)行軟件TAE、總線監(jiān)控分析工具VBA和程控電源,的聯(lián)合調(diào)用,實(shí)現(xiàn)數(shù)字鑰匙 的功能測試、性能測試、診斷
    的頭像 發(fā)表于 05-29 15:15 ?1019次閱讀
    基于TAE的數(shù)字鑰匙<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>解決方案

    納米軟件自動化測試合作:4644芯片與VPX模塊測試

    近日,納米軟件與西安廣勤電子技術(shù)有限公司就4644電源芯片自動化測試和VPX電源自動化測試達(dá)成戰(zhàn)略合作。在雙方進(jìn)行深入探討后,納米軟件為廣勤電子公司提供了高效、專業(yè)的
    的頭像 發(fā)表于 05-09 15:49 ?468次閱讀
    納米軟件<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>合作:4644芯片與VPX模塊<b class='flag-5'>測試</b>

    源自動化測試系統(tǒng)選擇指南:穩(wěn)定、可靠測試

    在挑選合適的電源自動測試系統(tǒng)時,要考慮被測產(chǎn)品、業(yè)務(wù)場景、測試需求、儀器兼容、是否方便維護(hù)等因素。NSAT-8000是納米軟件自主研發(fā)出的國產(chǎn)化電源測試系統(tǒng),憑借對測試儀器的深入了解以
    的頭像 發(fā)表于 04-15 15:00 ?544次閱讀

    Eggplant—HMI自動化測試軟件

    Eggplant是英國TestPlant公司推出的創(chuàng)新性自動化測試工具。通過VNC或RDP通訊技術(shù)遠(yuǎn)程桌面連接被測對象,基于圖像和文字識別算法進(jìn)行對象定位,進(jìn)而驅(qū)動和確認(rèn)被測HMI設(shè)備的響應(yīng),能夠
    的頭像 發(fā)表于 01-23 18:00 ?623次閱讀