Appium
Appium是一個開源的移動測試工具,支持iOS和Android,它可以用來測試任何類型的移動應(yīng)用(原生、網(wǎng)絡(luò)和混合)。作為一個跨平臺的工具,你可以在不同的平臺上運行相同的測試。為了實現(xiàn)跨平臺的功能,Appium使用了供應(yīng)商提供的Android UI框架來實施測試:在iOS中使用XCTest,在Android中使用UIAutomator或Instrumentation。它將這些供應(yīng)商框架封裝到Selenium WebDriver中,這使得使用Appium的開發(fā)者可以編寫各種類型語言的測試:Java、Objective-C、JavaScript、PHP、Ruby、Python等等。這也使得編寫Appium測試與編寫Selenium測試非常相似。
WebDriver最初是為web測試創(chuàng)建的,Appium用額外的API方法擴展了WebDriver,使得它更適合于移動自動化。
以下是一些有用的Appium特性:
- 不需要在設(shè)備上安裝任何東西。
- 不需要重新編譯或改變應(yīng)用程序來匹配Appium。
- Appium有一個非常大而活躍的社區(qū)。
- Appium附帶一個掃描和分析應(yīng)用程序的UI組件的工具——Appium UI Inspector。開發(fā)人員也可以使用Android Studio的UI Automator Viewer。
- 如果你需要為iOS和Android編寫測試,而你是一個Selenium的愛好者的話,Appium將是一個很好的選擇。
?
Calabash
Calabash是由Xamarin公司開發(fā)和維護的一款開源的移動測試工具,支持iOS和Android上的原生和混合應(yīng)用。Calabash測試支持手勢識別(gesture)、斷言(assertions)和屏幕截圖(screenshots)等功能,通常與驅(qū)動開發(fā)測試工具Cucumber一起集成使用。
Xamarin在2017年宣布,它將對Calabash停止繼續(xù)開發(fā)。鑒于此決定,你可以將Calabash作為一個不太理想的備選測試解決方案。
Espresso
Espresso是谷歌的一個Android UI框架。它是一個輕量級的、針對應(yīng)用程序開發(fā)人員的白盒工具,這意味著要充分利用它,測試開發(fā)人員必須充分熟悉并且會使用應(yīng)用程序代碼。Espresso的測試非常可靠,并且運行速度很快,由于Espresso可以訪問UI對象的內(nèi)部,它可以用于測試WebView,即混合應(yīng)用程序的開發(fā)。
Espresso的缺點是,它一次只能測試一個應(yīng)用程序,而且無法訪問設(shè)備資源。然而,通過使用UI Automator創(chuàng)建的聯(lián)合測試可以很容易地解決這個問題。
Sauce Labs支持Espresso的真實設(shè)備測試。
?
UI Automator
UI Automator是由谷歌開發(fā)和維護的移動測試Android UI框架,它的主要功能包含了跨應(yīng)用程序的功能測試,即測試多個應(yīng)用程序和在已安裝與系統(tǒng)應(yīng)用程序之間的切換的功能。
UI Automator是一個黑盒測試工具,也就是說測試開發(fā)人員不需要知道內(nèi)部的應(yīng)用程序結(jié)構(gòu),可以完全依賴于可見的UI元素。UI Automator的測試是用Java編寫的,由兩組api組成:其一為UI Automator APIs,是控制應(yīng)用程序的UI組件;其二為device state APIs,用于訪問和執(zhí)行設(shè)備上的操作(如改變設(shè)備旋轉(zhuǎn),按方向鍵按鈕,按返回,Home或者菜單按鈕等)。它還附帶了一個非常有用的UI Automator Viewer,這是一個可以掃描和分析當(dāng)前配置在設(shè)備上的UI組件的圖形用戶界面工具。
UI Automator的缺點是不支持構(gòu)建在混合Android應(yīng)用程序之上的WebView,因此,UI Automator只支持原生的Android應(yīng)用程序。
Robotium
Robotium是一個開源的Android UI框架,它誕生于2010年,現(xiàn)在已經(jīng)是一個非常成熟和穩(wěn)定的工具。其最近的一個版本是5.6.3,發(fā)布于2016年9月。在最新的幾個版本中,其測試可讀性和測試執(zhí)行的速度都有了顯著提高。
大多數(shù)涉及到Robotium的技術(shù)博客、教程和課程都是黑盒測試類型的。但實際上,它算是灰盒測試的,因為編寫Robotium測試需要了解內(nèi)部應(yīng)用程序結(jié)構(gòu)。
以下是Robotium的部分主要特性:
- 支持本機和混合應(yīng)用程序。
- 可以在真實設(shè)備和模擬器上運行測試。
- 支持完整的Android UI工具:活動、按鈕、菜單、toast、對話框等。
- 支持手勢。
- 有一些設(shè)備控制功能:改變設(shè)備方向,截屏,解鎖屏幕等。
- Robotium recorder是一個付費的Android Studio和Eclipse插件。這是一個很好的工具,可以快速的啟動和運行測試。
- 可以作為持續(xù)集成的一部分運行。
- Robotium的選擇語言是Java。
Robotium得到了Sauce Labs的支持,可以用于真實設(shè)備的測試。
結(jié)語
為您的項目選擇正確的Android UI框架是一項很有挑戰(zhàn)性的工作,在某些情況下,您可能需要使用多種工具來達(dá)到正確的平衡,這就是像Sauce Labs這樣的支持多種測試框架的測試網(wǎng)格大受歡迎的原因。
最后感謝每一個認(rèn)真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
?
這些資料,對于【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!有需要的小伙伴可以點擊下方小卡片領(lǐng)取?
?文章來源地址http://www.zghlxwxcb.cn/news/detail-485085.html文章來源:http://www.zghlxwxcb.cn/news/detail-485085.html
?
到了這里,關(guān)于Android自動化測試,5個必備的測試框架的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!