Appium是一個開源的移動測試工具,支持iOS和Android,它能夠用來測試任何類型的移動應用(原生、網絡和混合)。做爲一個跨平臺的工具,你能夠在不一樣的平臺上運行相同的測試。爲了實現跨平臺的功能,Appium使用了供應商提供的Android UI框架來實施測試:在iOS中使用XCTest,在Android中使用UIAutomator或Instrumentation。它將這些供應商框架封裝到Selenium WebDriver中,這使得使用Appium的開發者能夠編寫各類類型語言的測試:Java、Objective-C、JavaScript、PHP、Ruby、Python等等。這也使得編寫Appium測試與編寫Selenium測試很是類似。web
WebDriver最初是爲web測試建立的,Appium用額外的API方法擴展了WebDriver,使得它更適合於移動自動化。面試
如下是一些有用的Appium特性:api
若是你須要爲iOS和Android編寫測試,而你是一個Selenium的愛好者的話,Appium將是一個很好的選擇。bash
Calabash是由Xamarin公司開發和維護的一款開源的移動測試工具,支持iOS和Android上的原生和混合應用。Calabash測試支持手勢識別(gesture)、斷言(assertions)和屏幕截圖(screenshots)等功能,一般與驅動開發測試工具Cucumber一塊兒集成使用。網絡
Xamarin在2017年宣佈,它將對Calabash中止繼續開發。鑑於此決定,你能夠將Calabash做爲一個不太理想的備選測試解決方案。框架
Espresso是谷歌的一個Android UI框架。它是一個輕量級的、針對應用程序開發人員的白盒工具,這意味着要充分利用它,測試開發人員必須充分熟悉而且會使用應用程序代碼。Espresso的測試很是可靠,而且運行速度很快,因爲Espresso能夠訪問UI對象的內部,它能夠用於測試WebView,即混合應用程序的開發。工具
Espresso的缺點是,它一次只能測試一個應用程序,並且沒法訪問設備資源。然而,經過使用UI Automator建立的聯合測試能夠很容易地解決這個問題。
Sauce Labs支持Espresso的真實設備測試。測試
若是對軟件測試、接口測試、自動化測試、面試經驗交流。感興趣能夠加軟件測試交流:1085991341,還會有同行一塊兒技術交流。插件
UI Automator是由谷歌開發和維護的移動測試Android UI框架,它的主要功能包含了跨應用程序的功能測試,即測試多個應用程序和在已安裝與系統應用程序之間的切換的功能。3d
UI Automator是一個黑盒測試工具,也就是說測試開發人員不須要知道內部的應用程序結構,能夠徹底依賴於可見的UI元素。UI Automator的測試是用Java編寫的,由兩組api組成:其一爲UI Automator APIs,是控制應用程序的UI組件;其二爲device state APIs,用於訪問和執行設備上的操做(如改變設備旋轉,按方向鍵按鈕,按返回,Home或者菜單按鈕等)。它還附帶了一個很是有用的UI Automator Viewer,這是一個能夠掃描和分析當前配置在設備上的UI組件的圖形用戶界面工具。
UI Automator的缺點是不支持構建在混合Android應用程序之上的WebView,所以,UI Automator只支持原生的Android應用程序。
Robotium是一個開源的Android UI框架,它誕生於2010年,如今已是一個很是成熟和穩定的工具。其最近的一個版本是5.6.3,發佈於2016年9月。在最新的幾個版本中,其測試可讀性和測試執行的速度都有了顯著提升。
大多數涉及到Robotium的技術博客、教程和課程都是黑盒測試類型的。但實際上,它算是灰盒測試的,由於編寫Robotium測試須要瞭解內部應用程序結構。
如下是Robotium的部分主要特性:
Robotium獲得了Sauce Labs的支持,能夠用於真實設備的測試。
爲您的項目選擇正確的Android UI框架是一項頗有挑戰性的工做,在某些狀況下,您可能須要使用多種工具來達到正確的平衡,這就是像Sauce Labs這樣的支持多種測試框架的測試網格大受歡迎的緣由。以上內容就是本篇的所有內容以上內容但願對你有幫助,有被幫助到的朋友歡迎點贊,評論。