⑴ 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文件設備上工作。
⑵ Android安卓上有什麼好用的測試工具么
鑒於題主剛接觸Android測試,我來推薦一些測試小工具吧
Android端
1. Sqlite Editor
QLiteEditor是一款安卓平台上非常出色的專業資料庫編輯器,可以查看,瀏覽,編輯 手機應用存儲的SQLite資料庫內容。可以編輯系統資料庫(此功能需root許可權)
4. 抓包工具 wireshark、fiddler等
wireshark使用場景:
-wrieshark抓的包信息量大(可以抓取所有通過網卡的包)
-不能抓取https包
-不能設置請求中的斷點
fiddler使用場景:
-捕獲https會話
-通過filter進行http統計
-可選擇設置斷點修改Request。設置好斷點後,可以修復httpRequest的任何消息包括host,cookie或者表單中的數據
-可選擇設置斷點修改Response
-抓取http請求(不走http代理的請求抓取不到)
參考文獻:
http://ola.sogou.com/
http://www.chinanews.com/it/2016/03-25/7811188.shtml
https://www.wireshark.org/
http://www.telerik.com/fiddler
⑶ 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性能測試工具有哪些
有如下幾個工具:
android針對上面這些會影響到應用性能的情況提供了一些列的工具:
1 布局復雜度:
hierarchyviewer:檢測布局復雜度,各視圖的布局耗時情況:
Android開發者模式—GPU過渡繪制:
2 耗電量:Android開發者模式中的電量統計;
3 內存:
應用運行時內存使用情況查看:Android Studio—Memory/CPU/GPU;
內存泄露檢測工具:DDMS—MAT;
4 網路:Android Studio—NetWork;
5 程序執行效率:
靜態代碼檢查工具:Android studio—Analyze—Inspect Code.../Code cleanup... ,用於檢測代碼中潛在的問題、存在效率問題的代碼段並提供改善方案;
DDMS—TraceView,用於查找程序運行時具體耗時在哪;
StrictMode:用於查找程序運行時具體耗時在哪,需要集成到代碼中;
Andorid開發者模式—GPU呈現模式分析。
6 程序穩定性:monkey,通過monkey對程序在提交測試前做自測,可以檢測出明顯的導致程序不穩定的問題,執行monkey只需要一行命令,提交測試前跑一次可以避免應用剛提交就被打回的問題。
說明:
上面提到的這些工具可以進Android開發者官網性能工具介紹查看每個工具的介紹和使用說明;
Android開發者選項中有很多測試應用性能的工具,對應用性能的檢測非常有幫助,具體可以查看:All about your phone's developer options和15個必知的Android開發者選項對Android開發者選項中每一項的介紹;
針對Android應用性能的優化,Google官方提供了一系列的性能優化視頻教程,對應用性能優化具有非常好的指導作用,具體可以查看:優酷Google Developers或者Android Performance Patterns。
二 第三方性能優化工具介紹
除了android官方提供的一系列性能檢測工具,還有很多優秀的第三方性能檢測工具使用起來更方便,比如對內存泄露的檢測,使用leakcanry比MAT更人性化,能夠快速查到具體是哪存在內存泄露。
leakcanary:square/leakcanary · GitHub,通過集成到程序中的方式,在程序運行時檢測應用中存在的內存泄露,並在頁面中顯示,在應用中集成leancanry後,程序運行時會存在卡頓的情況,這個是正常的,因為leancanry就是通過gc操作來檢測內存泄露的,gc會知道應用卡頓,說明文檔:LeakCanary 中文使用說明、LeakCanary: 讓內存泄露無所遁形。
GT:GT Home,GT是騰訊開發的一款APP的隨身調測平台,利用GT,可以對CPU、內存、流量、點亮、幀率/流暢度進行測試,還可以查看開發日誌、crash日誌、抓取網路數據包、APP內部參數調試、真機代碼耗時統計等等,需要說明的是,應用需要集成GT的sdk後,GT這個apk才能在應用運行時對各個性能進行檢測。
⑸ 做Android手機軟體測試需要掌握哪些工具
請注意測試本身不是靠工具的而是靠設計,這是我的理念,所以我一向覺得,很多人認為做測試做的好就是靠掌握一門好的工具,這個觀點是不正確的,所以我可以負責任的告訴你,做Android手機需要掌握的不是工具、而是理念、思維、以及框架,總的來說是本質,而工具只是輔助,那麼現在我來介紹一些我了解的工具(僅僅是了解,很多沒用過)
開源 Android 軟體測試工具包括:Android Test Kit, AndroidJUnit4, Appium, calabash-android, Monkey, MonkeyTalk, NativeDriver, Robolectric, RoboSpock, Robotium, UIAutomator, Selendroid。
Android Test Kit
Android Test Kit 是一組 Google 開源測試工具,用於 Android 平台,包含 Espresso API 可用於編寫簡潔可靠的 Android UI 測試。
AndroidJUnit4
AndroidJUnit4 是一個讓 JUnit 4 可以直接運行在 Android 設備上的開源命令行工具。
Appium
Appium 是一個開源、跨平台的自動化測試工具,用於測試原生和輕量移動應用,支持 iOS, Android 和 FirefoxOS 平台。Appium 驅動蘋果的 UIAutomation 庫和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 協議。Appinm 的 iOS 支持是基於 Dan Cuellar's 的 iOS Auto. Appium 同時綁定了 Selendroid 用於老的 Android 平台測試。
Calabash-android
calabash-android 是一個基於 Cucumber 的 Android 的功能自動化測試框架。Calabash 允許你寫和執行,是開源的自動化移動應用測試工具,支持 Android 和 iOS 原生應用。Calabash 的庫允許原生和混合應用的交互測試,交互包括大量的終端用戶活動。Calabash 可以媲美 Selenium WebDriver。但是, 需要注意的是 web 應用和桌面環境的交互跟觸摸屏應用的交互是不同的。Calabash 專為觸摸屏設備的原生應用提供 APIs。
Monkey
Monkey 是 Google 開發的 UI/應用測試工具,也是命令行工具,主要針對壓力測試。你可以在任意的模擬器示例或者設備上運行。Monkey 發送一個用戶事件的 pseudo-random 流給系統,作為你開發應用的壓力測試。
MonkeyTalk
MonkeyTalk 是世界上最強大的移動應用測試工具。MonkeyTalk 自動為 iOS 和 Android 應用進行真實的,功能性交互測試。MonkeyTalk 提供簡單的 "smoke tests",復雜數據驅動的測試套件。MonkeyTalk 支持原生,移動和混合應用,真實設備或者模擬器。MonkeyTalk 使得場景捕獲非常容易,可以記錄高級別,可讀的測試腳本。同樣的命令可以用在 iOS 和 Android 應用上。你可以記錄一個平台的一個測試,並且可以在另外一個平台回放。MonkeyTalk 支持移動觸摸和基於手勢交互為主的移動體驗。點擊,拖拽,移動,甚至是手指繪制也可以被記錄和回放。
NativeDriver
NativeDriver 是 WebDriver API 的實現,是原生應用 UI 驅動,而不是 web 應用。
Robolectric
Robolectric 是一款Android單元測試框架,使用 Android SDK jar,所以你可以使用測試驅動開發 Android 應用。測試只需幾秒就可以在工作站的 JVM 運行。Robolectric 處理視圖縮放,資源載入和大量 Android 設備原生的 C 代碼實現。Robolectric 允許你做大部分真實設備上可以做的事情,可以在工作站中運行,也可以在常規的 JVM 持續集成環境運行,不需要通過模擬器。
RoboSpock
RoboSpock 是一個開源的 Android 測試框架。提供簡單的編寫 BDD 行為驅動開發規范的方法,使用Groovy 語音,支持 Google Guice 庫。RoboSpock 合並了 Robolectric 和 Spock 的功能。
Robotium
Robotium 是一款國外的Android自動化測試框架,主要針對Android平台的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點擊、長 按、滑動等)、查找和斷言機制的API,能夠對各種控制項進行操作。Robotium結合Android官方提供的測試框架達到對應用程序進行自動化的測 試。另外,Robotium 4.0版本已經支持對WebView的操作。Robotium 對Activity,Dialog,Toast,Menu 都是支持的。
UIAutomator
uiautomator 測試框架提高用戶界面(UI)的測試效率,通過自動創建功能 UI 測試示例,可以在一個或者多個設備上運行你的應用。
Selendroid
Selendroid 是一個 Android 原生應用的 UI 自動化測試框架。測試使用 Selenium 2 客戶端 API 編寫。Selendroid 可以在模擬器和實際設備上使用,也可以集成網格節點作為縮放和並行測試。
⑹ Android 手機自動化測試工具有哪幾種
既然說到andoird測試工具的分類,我就以分類的角度來回答吧。
1)純白盒方式的測試,Monkey。樓上已經有哥們提到了,使用moneky更多的是開發team,而不是純粹的測試team,畢竟要求對android開發比較了解才用得了monkey。
2)偏白盒的robotium,這傢伙號稱是黑盒,但是本人不太認同~ 因為使用robotium需要知道package和acitivity這樣的細節,即便不是開發人員來做,也得從開發人員那裡獲得不少開發文檔才能做。
3)純黑盒的方式,這個分類比較有意思,我分得細點
3-1)sikuli,原來只針對桌面應用,後來自然延伸到了android app,讓人眼前一亮的測試方式。框個圖,寫個簡單的python測試腳本(其實java腳本也可以),測試就做好了,簡單又形象,還有邏輯。因為驗證點是依賴於圖片比對,所以瓶頸也在此。屏幕大小和解析度的不同是這種測試的硬傷,如果測試團隊覺得每個手機上摳下來的圖要重新截,那...也就沒啥了。
3-2)testin,deviceanywhere等
樓上那個哥們應該是testin的人,介紹已經很全面了,我只概括一下。這類測試本身沒有神馬特別的,無非是放在了雲端,將規模化的測試做到了極致,與其說是測試工具,不如說是測試平台。說缺點嘛也有,由於只是簡單的基於坐標的腳本錄制(並沒有靈活的功能性驗證點),這種測試往往比較簡單,只是做做簡單的適配性和性能測試,畢竟賣點不在測試類型上。
3-3)clicktest(我們家的工具,算是廣告吧,呵呵)
論原理,也是基於圖片對比技術,只是做了些優化,比對的智能一些,跨手機的效果更好罷了。也支持錄制回放,自定義了一些測試命令,易上手,可讀性強,不再需要使用者(手工測試人員)編程了。另外,支持工作流式的邏輯集成,可以靈活得組合測試步驟,增強復用性。clicktest是工具,不是平台,歡迎各位咨詢和探討。
對了,還有一種
4)硬體輔助的測試方式,我就不舉例了
先說原理,硬體輔助視頻輸出(攝像頭or視頻線),控制方式是軟硬體結合。這種方式的特點,跨平台杠杠的,但是成本高,包括硬體成本以及硬體工程師的成本。