發(fā)布時間:2020-06-17
現(xiàn)在世面上的安卓自動化測試工具五花八門,讓人看的眼花繚亂,那么今天就讓小編帶你分析下當(dāng)前世面上的移動端自動化工具。首先我們探究一下各種測試工具的實(shí)現(xiàn)原理和應(yīng)用場景以及利弊分析。
一、monkey
原理:通過socket通訊的方式來模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,Monkey 是一個命令行工具,可以運(yùn)行在模擬器或?qū)嶋H設(shè)備中,通過向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流,實(shí)現(xiàn)對全系統(tǒng)或某個應(yīng)用程序進(jìn)行壓力測試
使用場景:多用于進(jìn)行穩(wěn)定性測試。
利弊分析:測試的對象僅為應(yīng)用程序包,有一定的局限性。Monkey測試使用的事件流數(shù)據(jù)流是隨機(jī)的,不能進(jìn)行自定義。
二、monkeyrunner
原理:Monkeyrunner是Android自帶的自動化測試工具, 通過adb進(jìn)行對屏幕的元素dump進(jìn)行解析,并且基于坐標(biāo)發(fā)送點(diǎn)擊操作,然后在這個基礎(chǔ)上做封裝
使用場景:多用于UI自動化測試
利弊分析:
1、可以完成一定復(fù)雜程度的測試用例,避免重復(fù)的人工工作量;
2、結(jié)合heap、strict mode等工具,可以實(shí)現(xiàn)壓力測試,性能優(yōu)化等任務(wù);
3、某些API對機(jī)型兼容不好,例如4.0以下的機(jī)型,對viewnode server支持不友善,導(dǎo)致drag api不能正常工作。
4、由于monkeyrunner的實(shí)現(xiàn)基于python腳本,性能比較低下,對腳本的編寫有質(zhì)量要求。
三、uniautomator
原理:是Android提供的自動化測試框架,UiAutomator是Google仿照微軟Uiautomation提供的一套自動化框架,基于Android AccessilibilityService提供(注:Android AccessilibilityService,是一個可訪問服務(wù),是一個為增強(qiáng)用戶界面并幫助殘疾用戶的應(yīng)用程序,或者用戶可能無法完全與設(shè)備的交互。例如,用戶在開車。那么用戶就有可能需要添加額外的或者替代的用戶反饋方式)。
應(yīng)用場景:Android平臺的應(yīng)用進(jìn)行黑盒自動化測試,
利弊分析:基本上支持所有的Android事件操作,對比Instrumentation它不需要測試人員了解代碼實(shí)現(xiàn)細(xì)節(jié)(可以用UiAutomatorviewer抓去App頁面上的控件屬性而不看源碼)?;贘ava,測試代碼結(jié)構(gòu)簡單、編寫容易、學(xué)習(xí)成本,一次編譯,所有設(shè)備或模擬器都能運(yùn)行測試,能跨App(比如:很多App有選擇相冊、打開相機(jī)拍照,這就是跨App測試。
四、Appium
原理:Appium是一個開源、跨平臺的測試框架,可以用來測試原生及混合的移動端應(yīng)用。Appium支持IOS、Android及FirefoxOS平臺。Appium使用WebDriver的json wire協(xié)議,來驅(qū)動Apple系統(tǒng)的UIAutomation庫、Android系統(tǒng)的UIAutomator框架。Appium對IOS系統(tǒng)的支持得益于Dan Cuellar’s對于IOS自動化的研究。Appium也集成了Selendroid,來支持老android版本。
應(yīng)用場景:Ios、android黑盒自動化測試
利弊分析:Appium支持Selenium WebDriver支持的所有語言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl語言,更可以使用Selenium WebDriver的Api。Appium支持任何一種測試框架。如果只使用Apple的UIAutomation,我們只能用javascript來編寫測試用例,而且只能用Instruction來運(yùn)行測試用例。同樣,如果只使用Google的UIAutomation,我們就只能用java來編寫測試用例。Appium實(shí)現(xiàn)了真正的跨平臺自動化測試。
MobileRunner(簡稱MR)是面向移動平臺(android和ios)的自動化測試工具。支持同時直接連接多臺移動設(shè)備,通過腳本錄制和執(zhí)行,實(shí)現(xiàn)移動設(shè)備和應(yīng)用的自動化測試、設(shè)備兼容性測試、功能測試等工作。
應(yīng)用場景:支持主流的兩大操作系統(tǒng),安卓與IOS系統(tǒng)全支持。
優(yōu)勢:使用Java作為腳本語言,使腳本更簡單,并且Java有大量的擴(kuò)展包,能夠讓用戶自己來擴(kuò)展功能。Java作為標(biāo)準(zhǔn)化、流行的開發(fā)技術(shù),擁有大量的擁護(hù)者和開發(fā)者,容易學(xué)習(xí),也更容易找到懂得Java的測試工程師,降低人員成本。MobileRunner支持函數(shù)調(diào)用,支持腳本調(diào)用腳本,能夠非常簡單地實(shí)現(xiàn)各種復(fù)雜腳本的編寫。
移動端自動化測試相關(guān)閱讀:
電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。
您的信息已成功提交!
我們的客服人員稍后會與您聯(lián)系