Android自動化測試,5個必備的測試框架

Appium

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

  • 不須要在設備上安裝任何東西。
  • 不須要從新編譯或改變應用程序來匹配Appium。
  • Appium有一個很是大而活躍的社區。
  • Appium附帶一個掃描和分析應用程序的UI組件的工具——Appium UI Inspector。開發人員也能夠使用Android Studio的UI Automator Viewer。
  • 若是你須要爲iOS和Android編寫測試,而你是一個Selenium的愛好者的話,Appium將是一個很好的選擇。bash


Calabash

Calabash是由Xamarin公司開發和維護的一款開源的移動測試工具,支持iOS和Android上的原生和混合應用。Calabash測試支持手勢識別(gesture)、斷言(assertions)和屏幕截圖(screenshots)等功能,一般與驅動開發測試工具Cucumber一塊兒集成使用。網絡

Xamarin在2017年宣佈,它將對Calabash中止繼續開發。鑑於此決定,你能夠將Calabash做爲一個不太理想的備選測試解決方案。框架

Espresso

Espresso是谷歌的一個Android UI框架。它是一個輕量級的、針對應用程序開發人員的白盒工具,這意味着要充分利用它,測試開發人員必須充分熟悉而且會使用應用程序代碼。Espresso的測試很是可靠,而且運行速度很快,因爲Espresso能夠訪問UI對象的內部,它能夠用於測試WebView,即混合應用程序的開發。工具

Espresso的缺點是,它一次只能測試一個應用程序,並且沒法訪問設備資源。然而,經過使用UI Automator建立的聯合測試能夠很容易地解決這個問題。
Sauce Labs支持Espresso的真實設備測試。測試

 

 

若是對軟件測試、接口測試、自動化測試、面試經驗交流。感興趣能夠加軟件測試交流:1085991341,還會有同行一塊兒技術交流。插件

UI Automator

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

Robotium是一個開源的Android UI框架,它誕生於2010年,如今已是一個很是成熟和穩定的工具。其最近的一個版本是5.6.3,發佈於2016年9月。在最新的幾個版本中,其測試可讀性和測試執行的速度都有了顯著提升。

大多數涉及到Robotium的技術博客、教程和課程都是黑盒測試類型的。但實際上,它算是灰盒測試的,由於編寫Robotium測試須要瞭解內部應用程序結構。

如下是Robotium的部分主要特性:

  • 支持本機和混合應用程序。
  • 能夠在真實設備和模擬器上運行測試。
  • 支持完整的Android UI工具:活動、按鈕、菜單、toast、對話框等。
  • 支持手勢。
  • 有一些設備控制功能:改變設備方向,截屏,解鎖屏幕等。
  • Robotium recorder是一個付費的Android Studio和Eclipse插件。這是一個很好的工具,能夠快速的啓動和運行測試。
  • 能夠做爲持續集成的一部分運行。
  • Robotium的選擇語言是Java。

Robotium獲得了Sauce Labs的支持,能夠用於真實設備的測試。

結語

爲您的項目選擇正確的Android UI框架是一項頗有挑戰性的工做,在某些狀況下,您可能須要使用多種工具來達到正確的平衡,這就是像Sauce Labs這樣的支持多種測試框架的測試網格大受歡迎的緣由。以上內容就是本篇的所有內容以上內容但願對你有幫助,有被幫助到的朋友歡迎點贊,評論。

相關文章
相關標籤/搜索