一、首先說說手機自動化測試的原理 1、手機自動化測試的原理為PC上一個控制端(測試工具)與手機上的一個agent端,通過串口、USB或者無線方式將PC與手機終端相連,然後應用測試工具向手機發送請求或者命令,手機收到命令或者請求後,交給agent端解析,然後agent將這些解析的命令下發給手機的各個功能模塊所能識別的命令,調用那些功能模塊模擬操作。完成這些操作後,手機會返回一些信息,agent可以抓取這些信息,然後傳回給PC端,這樣就完成了一個完整的手機自動化測試。 2、關鍵點在於agent,有的公司是向自己的手機終端的軟體功能模塊中植入測試程序響應代碼,有的公司可以利用MMI_Command的方式來控制手機終端;原理就是給手機提供一個響應的介面。 3、而對於PC控制端,這個測試腳本用各種編程語言都可以,看如何定義 4、而又的自動化測試設計成錄制的機制,說通俗點,就是記錄手工操作的鍵盤信息或者LCD的操作信息(LCD需要用到智能識別機制) 5、自動化測試框架的搭建方法是通用的,你需要有一套自己的測試框架才能保證自動化測試的順利開展。 二、Android自動化測試方向: 1、CTS,CTS 測試基於Android instrumentation 測試, 其又基於JUnit 測試。說白了, CTS 就是一堆單元測試用例。這也是java 語言的擅長部分。 2、 Monkey工具,Monkey是Android中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey測試是一種為了測試軟體的穩定性、健壯性的快速有效的方法。 3、ASE,ASE 意思為Android 腳本環境, 即我們可以通過腳本(比如Python)調用Android 的功能,從而定製一些測試。比如打電話,發簡訊,瀏覽網頁,等。我們可以擴充它的API(Java 部分), 並用python 腳本調用這些API, 從而實現豐富的測試功能。用於API 部分可以訪問到Android 全部API, python 又能靈活部署測試,所以ASE 的擴展性非常好。 4、Robotium,該工具用於黑盒的自動化測試。可以在有源碼或者只有APK 的情況下對目標應用 進行測試。Robotimu 提供了模仿用戶操作行為的API,比如在某個控制項上點擊,輸入Text 等等。(推舉你可以研究一下這個工具,開源的,我有資料) 5、可以自己開發一個手機方面的自動化測試工具,原理上一樣的 如果你想要什麼資料的話或者想一起學習研究的話,可以給我發郵件:[email protected]
『貳』 Android 手機自動化測試工具有哪幾種
1、MonkeyAndroid SDK自帶測試工具測試程向系統發送偽隨機用戶事件流按鍵輸入、觸摸屏輸入、手勢輸入等)實現發應用程序進行壓力測試志輸實際該工具能做程序做些壓力測試由於測試事件數據都隨機能自定義所局限性
2、MonkeyRunnerAndroid SDK提供測試工具嚴格意義說MonkeyRunner其實Api工具包比Monkey強編寫測試腳本自定義數據、事件缺點腳本用Python寫測試員說要求較高比較習本
3、Instrumentation早期Google提供Android自化測試工具類雖候JUnitAndroid進行測試Instrumentation允許應用程序做更復雜測試甚至框架層面通Instrumentation模擬按鍵按、抬起、屏幕點擊、滾等事件Instrumentation通主程序測試程序運行同進程實現些功能Instrumentation看類似Activity或者Service並且帶界面組件程序運行期間監控主程序缺點測試員說編寫代碼能力要求較高需要Android相關知識定解需要配置AndroidManifest.xml文件能跨App
4、UiAutomatorAndroid提供自化測試框架基本支持所Android事件操作比Instrumentation需要測試員解代碼實現細節(用UiAutomatorviewer抓App頁面控制項屬性看源碼)基於Java測試代碼結構簡單、編寫容易、習本編譯所設備或模擬器都能運行測試能跨App(比:App選擇相冊、打相機拍照跨App測試)缺點支持SDK 16(Android 4.1)及支持Hybird App、WebApp
5、EspressoGoogle源自化測試框架相於RobotiumUIAutomator特點規模更、更簡潔API更加精確編寫測試代碼簡單容易快速手基於Instrumentation所能跨App配合Android Studio編寫測試簡單例
6、Selendroid:基於Instrumentation測試框架測試Native App、Hybird App、Web App網資料較少社區躍度
7、Robotium基於Instrumentation測試框架目前內外用比較資料比較社區比較躍缺點測試員說要定Java基礎解Android基本組件能跨App
8、Athrun淘寶移測試框架/平台同支持iOSAndroidAndroid部基於InstrumentationAndroid原類基礎進行擴展提供整套面向象API詳細介紹
9、Appium近比較熱門框架社區躍框架應該功能強
-
『叄』 Android自動化測試工具有哪些
1、 Robotium 安卓測試工具
Robotium是一款經常使用的自動化測試工具軟體,支持Android。
Robotium是一個免費的Android UI測試工具。它適用於為不同的安卓版本和子版本測試自動化。軟體開發人員經常把它描述為Android Selenium。Robotium測試是用java寫的。事實上,Robotium是一個單元測試庫。
但通過Robotium創建測試需要花費很多時間和努力,因為為了自動化測試還需要修改程序源代碼。該工具也不適合與系統軟體的交互,它不能鎖定和解鎖智能手機或平板電腦。Robotium也沒有錄制回放功能,也不提供截圖。
2、MonkeyRunner 安卓應用測試
Monkeyrunner是一款流行的Android測試工具,用於自動化功能測試。
這個工具比Robotium更低一層次。這個不必處理源代碼來做自動化測試。這個測試可以用Python寫,並且可以使用錄制工具來創建測試。
Monkeyrunner可以連接到電腦或模擬真實設備運行測試。該工具有一個介面,用它來控制智能手機,平板電腦或外部模擬器的Android代碼。
這個測試工具的缺點是,它必須為每個設備編寫腳本。另一個問題是,每次測試程序的用戶界面變化都需要調整測試腳本。
3、Ronaorex 安卓測試應用工具
Ranrex 是一款不僅可以支持最新Android版本,也支持從Android2.2開始的早期版本和分支版本。
Ranorex的優勢是它有詳細的截屏報告。它能通過Wifi連接智能手機和平板電腦。
一個自動化測試工程師通過這個Android工具可以不用XML數據格式來詳細編寫數據驅動的測試。Ranorex工作室使自動化測試工程師只要點擊滑鼠就可容易地創建測試。它允許詳細聲明額外的程序模塊,來用於在後期開發周期中測試更復雜的場景。
它是一個商業的移動應用工具,其許可價格為1990歐元。不過Ranorex搜索功能相當慢;它需要30秒來完成這樣的操作。我們必須為Ranorex配備apk文件設備,否則無法通過這個工具實現自動化測試,因為它只能在APK文件設備上工作。