歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

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

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


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


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

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

在市場上有很多可用的工具,開源的或要付費的。雖然付費和開源工具各有利弊,但是後者在自動化測試社區得到了廣泛的應用。根據項目需求來選擇合適的自動化工具是非常棘手的。下面介紹5個最佳的iOS和Android開源自動化工具。

1.Calabash(適用於Android和iOS)

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

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

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

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

優點:

◆大型社區支持。

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

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

◆大型且熱心的社區。

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

缺點:

◆測試步驟失敗後,將跳過所有的後續步驟。這可能會導致錯過更嚴重的產品問題。

◆需要時間來進行測試,因為它首先總是默認安裝app。但是,這種設置可以通過在代碼中配置一個鉤子(hook)覆蓋掉。

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

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

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

2.Appium(Android和iOS)

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

Appium是Sauce Labs出品的一個開源的自動化測試框架,用於原生、混合和移動的web app。框架內的Appium庫函數調用Appium服務器是在操作連接設備的後台運行的。它在內部使用JSONWireProtocol,來與使用 Selenium的WebDriver的iOS和Android app進行互動。

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

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

優點:

◆支持多種語言。

◆不需要訪問源代碼。

◆跨平台腳本開發。

◆大型社區支持。

◆支持Mac上的腳本記錄。

◆使用Appium Server應用程序的Inspector工具提取標識符。

◆通過Appium Server的桌面應用程序對Selendroid內置支持。

◆它還使用供應商提供的框架:適用於iOS的UIAutomation ,分別適用於Android 4.2+和 2.3+的UIAutomator和Selendroid。

◆支持物理設備與仿真器。

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

缺點:

◆Appium Server桌面應用程序的發布常常不穩定。

◆腳本記錄不適用於Application服務器對於Windows OS的桌面應用程序。

3.Robotium(Android )

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

Robotium是一個開源的測試框架,用於開發功能性,系統,和驗收測試場景。它與Selenium非常相似,除了Robotium只適用於Android。它注冊在Apache License 2.0下。

因為它不但簡單,而且又具有創建強大又可靠的自動化場景的能力,因而它在自動化測試社區廣泛流行。

它采用運行時綁定到GUI組件。它安裝了一個測試用例套件作為在Android設備或仿真器上的應用程序,並提供用於執行測試的真實環境。

優點:

◆容易在最短的時間內編寫測試腳本。

◆預裝自動化app是可能的。

◆自動跟隨當前activity。

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

◆不訪問代碼或不知道app實現,也可以工作。

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

缺點:

◆不能處理flash和web組件。

◆支持Java開發。

◆在舊設備上會變得很慢。

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

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

4.Frank(iOS)

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

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

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

優點:

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

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

◆如果團隊有關於web selenium和cucumber自動化框架的經驗,也有效。

◆活躍的社區支持。

◆不斷擴大中的庫。

缺點:

◆對手勢的支持有限。

◆在設備上運行測試有點難。

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

◆記錄功能不可用。

5.UIAutomator(Android)

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

優點:

◆簡單易學的教程。

◆庫由谷歌社區支持和維護。

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

缺點:

◆僅支持android 4.1及以上。

◆不支持腳本記錄。

◆支持的重點是Java。

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

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

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

原文來自:http://os.51cto.com/art/201511/496546.htm

轉載地址:http://www.linuxprobe.com/ios-android-tools.html


http://xxxxxx/Linuxjc/1155807.html TechArticle

Copyright © Linux教程網 All Rights Reserved