自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

五個iOS和Android最佳的開源自動化工具

開源 系統(tǒng)運維 自動化
自動化測試在產(chǎn)品測試上有著非常重要的作用,可以最大限度地減少重復(fù)性回歸測試循環(huán)時的人為錯誤和疏忽的風險。在市場上有很多可用的工具,開源的或要付費的。本文介紹5個最佳的iOS和Android開源自動化工具。

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

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

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

  1.Calabash(適用于Android和iOS)

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

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

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

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

  優(yōu)點:

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

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

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

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

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

  缺點:

  ◆測試步驟失敗后,將跳過所有的后續(xù)步驟。這可能會導(dǎo)致錯過更嚴重的產(chǎ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è)備的后臺運行的。它在內(nèi)部使用JSONWireProtocol,來與使用 Selenium的WebDriver的iOS和Android app進行互動。

  不像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)點:

  ◆支持多種語言。

  ◆不需要訪問源代碼。

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

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

  ◆支持Mac上的腳本記錄。

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

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

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

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

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

  缺點:

  ◆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)建強大又可靠的自動化場景的能力,因而它在自動化測試社區(qū)廣泛流行。

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

  優(yōu)點:

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

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

  ◆自動跟隨當前activity。

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

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

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

#p#

  缺點:

  ◆不能處理flash和web組件。

  ◆支持Java開發(fā)。

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

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

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

  4.Frank(iOS)

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

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

  優(yōu)點:

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

  ◆Symbiote——包含實時檢查工具。

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

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

  ◆不斷擴大中的庫。

  缺點:

  ◆對手勢的支持有限。

  ◆在設(shè)備上運行測試有點難。

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

  ◆記錄功能不可用。

5.UIAutomator(Android)

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

  優(yōu)點:

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

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

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

缺點:

  ◆僅支持android 4.1及以上。

  ◆不支持腳本記錄。

  ◆支持的重點是Java。

  ◆你不能獲得當前活動或儀表化。

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

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

譯文鏈接:http://www.codeceo.com/article/5-ios-android-test-tools.html

翻譯作者:碼農(nóng)網(wǎng) – 小峰

責任編輯:火鳳凰 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2019-12-10 09:42:58

開源自動化容器

2019-09-18 20:39:07

數(shù)據(jù)科學(xué)自動化工具機器學(xué)習(xí)

2021-05-19 17:04:29

Python阿里自動化工具

2022-06-28 09:21:08

開源自動化編排

2019-12-04 08:00:00

IT基礎(chǔ)架構(gòu)自動化工具

2014-04-16 14:15:01

QCon2014

2020-03-31 10:58:35

網(wǎng)絡(luò)自動化SD-WAN軟件定義網(wǎng)絡(luò)

2020-12-23 10:43:40

云計算基礎(chǔ)設(shè)施自動化工具

2010-12-06 09:56:52

數(shù)據(jù)中心網(wǎng)絡(luò)

2024-02-27 09:00:00

2020-04-26 15:31:58

DevOps自動化工具

2022-06-16 11:57:22

自動化安全開源

2010-11-08 09:15:46

Puppet入門教程自動化

2020-07-17 07:41:29

開源開發(fā)技術(shù)

2022-07-20 12:18:36

Python自動化工具tox

2021-02-22 18:50:03

Ansible系統(tǒng)運維

2020-07-07 11:33:31

開源技術(shù) 軟件

2019-12-18 09:00:00

網(wǎng)絡(luò)自動化網(wǎng)絡(luò)網(wǎng)絡(luò)自動化工具

2019-11-11 13:50:42

工具代碼開發(fā)

2021-05-08 09:00:53

AI 工具人工智能
點贊
收藏

51CTO技術(shù)棧公眾號