Appium
Appium是一個開源的移動測試工具,支持iOS和Android,它可以用來測試任何類型的移動應用(原生、網絡和混合)。作為一個跨平台的工具,你可以在不同的平台上運行相同的測試。為了實現跨平台的功能,Appium使用了供應商提供的Android UI框架來實施測試:在iOS中使用XCTest,在Android中使用UIAutomator或Instrumentation。它將這些供應商框架封裝到Selenium WebDriver中,這使得使用Appium的開發者可以編寫各種類型語言的測試:Java、Objective-C、JavaScript、PHP、Ruby、Python等等。這也使得編寫Appium測試與編寫Selenium測試非常相似。
WebDriver最初是為web測試創建的,Appium用額外的API方法擴展了WebDriver,使得它更適合於移動自動化。
以下是一些有用的Appium特性:
- 不需要在設備上安裝任何東西。
- 不需要重新編譯或改變應用程序來匹配Appium。
- Appium有一個非常大而活躍的社區。
- Appium附帶一個掃描和分析應用程序的UI組件的工具——Appium UI Inspector。開發人員也可以使用Android Studio的UI Automator Viewer。
-
如果你需要為iOS和Android編寫測試,而你是一個Selenium的愛好者的話,Appium將是一個很好的選擇。
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框架,它的主要功能包含了跨應用程序的功能測試,即測試多個應用程序和在已安裝與系統應用程序之間的切換的功能。
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這樣的支持多種測試框架的測試網格大受歡迎的原因。
以上內容就是本篇的全部內容以上內容希望對你有幫助,有被幫助到的朋友歡迎點贊,評論。