原創|行業資訊|編輯:郝浩|2017-09-25 16:34:13.000|閱讀 2393 次
概述:為你的項目選擇正確的Android UI框架是一項很有挑戰性的工作,在某些情況下,您可能需要使用多種工具來達到正確的平衡。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
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特性:
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的真實設備測試。
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是一個開源的Android UI框架,它誕生于2010年,現在已經是一個非常成熟和穩定的工具。其最近的一個版本是5.6.3,發布于2016年9月。在最新的幾個版本中,其測試可讀性和測試執行的速度都有了顯著提高。
大多數涉及到Robotium的技術博客、教程和課程都是黑盒測試類型的。但實際上,它算是灰盒測試的,因為編寫Robotium測試需要了解內部應用程序結構。
以下是Robotium的部分主要特性:
Robotium得到了Sauce Labs的支持,可以用于真實設備的測試。
為您的項目選擇正確的Android UI框架是一項很有挑戰性的工作,在某些情況下,您可能需要使用多種工具來達到正確的平衡,這就是像Sauce Labs這樣的支持多種測試框架的測試網格大受歡迎的原因。
本文翻譯自,譯者:慧都控件網-回憶和感動
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn