www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]前言本文主要介紹Android和iOS 五個最好的開源自動化工具,這里整理了相關(guān)資料,希望能幫助測試軟件的朋友,有需要的看下。自動化測試在產(chǎn)品測試上有著非常重要的作用。實(shí)現(xiàn)

前言

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

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

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

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

1.Calabash(適用于Android和iOS)

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

Calabash提供了一個橋梁,允許Cucumber測試對iOS和Android運(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)行測試,因為它首先總是默認(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),和驗收測試場景。它與Selenium非常相似,除了Robotium只適用于Android。它注冊在Apache License 2.0下。

因為它不但簡單,而且又具有創(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的幫助下,用可理解的英語句子寫的。[!--empirenews.page--]

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

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

◆活躍的社區(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è)備,不過這也不算什么很大的因素,因為現(xiàn)在大多數(shù)的app支持API level 19及以上。

 


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

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

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

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

缺點(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)資料,謝謝大家對本站的支持!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉