導航:首頁 > 源碼編譯 > androidmonkey源碼

androidmonkey源碼

發布時間:2022-06-07 19:31:26

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中monkeyrunner如何實現drag()

使用此方法:com.android.monkeyrunner.MonkeyDevice.drag
模擬設備屏幕上拖動(觸摸,持有和移動)參數:

開始
-
拖動起點(以像素為單位元組(X,Y))

結束
-
阻力終點(以像素為單位元組(X,Y)

時間
-
在幾秒鍾內拖時間(默認為1.0秒)

步驟
-
插值點時要採取的步驟。
(默認是10)返回:返回任何內容。
使用adb命令:詳細的adb命令,可以通過adb
-h來查詢.而Monkeyrunner中對設備的操作如下: from
com.android.monkeyrunner
import
MonkeyRunner,MonkeyDevice
device
=
MonkeyRunner.waitForConnection(5,"emulator-5554")
device.shell("am
start
-an
com.xxx.xxx/.MainActivity")
device.touch(250,
450,
'DOWN_AND_UP')
device.drag((1080/2,
1700),(1080/2,
400),0.5,1)

③ 手機app測試有哪些工具盒方法

手機app測試有可以利用以下幾種工具:

1、安卓黑盒測試工具

1)包括本身自帶的monkey,Monkey是Android中的一個命令行工具,可以運行在模擬器里或實際設備中;

2) robotium與appium,這些工具用於黑盒的自動化測試。可以在有源碼或者只有APK的情況下對目標應用進行測試。

2、白盒測試,Android在SDK中集成了JUnit框架。所以,你可以基於JUNIT框架進行安卓的白盒測試代碼開發;

3、安卓的測試方法其實與web測試方法大多類似,只是多了一些特殊的測試場景;

4、兼容性測試,一是可以利用虛擬機來保證系統間的兼容性,但更多的還需要依靠真機來測試;

(3)androidmonkey源碼擴展閱讀:

APP測試要點:

1、功能測試

最基本的測試,主要是測試軟體app的功能點、業務邏輯;關聯性(主要是測試客戶端和PC的交互,客戶端處理完後,保證PC端數據同步且一致)

2、性能測試

cpu,佔用不超過10%,響應時間(包括app啟動和退出),滿足258原則,2秒以內用戶感覺很快,2-5秒感覺一般,5-8秒感覺很慢,但是能接受,8秒以上用戶無法接受,選擇離開,或者再次發送請求;

3、兼容性測試

手機app需要重點關注的,不同操作系統:android、iOS不同手機廠商,小米,華為等不同的手機屏幕解析度,與其他第三方app的兼容;

4、安裝卸載更新測試

也是手機app比較特別的測試點,安裝的路徑,手機還是sd卡上,高低版本的覆蓋安裝,內存不足時的安裝,安裝過程中出現中斷情況,第三方管理軟體中卸載app,卸載過程中出現中斷情況;

5、中斷或崩潰測試

中斷測試主要是測試app是否會出現crash情況。來電、簡訊、鬧鍾、低電量等,網路環境突然改變,或者網路中斷,例如隧道、電梯(離線支持),切換網路,例如數據連接切換到wifi外部設備。

比如充電,插耳機內存不足改變設備方向改變手機語言,例如英文多後台程序切換長時間開機並且長時間開啟app也可以用monkey來測試apk的穩定性,也能檢查出一些crash的問題;

6、安全測試

7、UI測試

④ 如何跑android手機的monkey

需要PC有adb的程序 一般mokey腳本都是開發寫好了 如果你是白盒測試人員 可能需要自己寫monkey腳本 用adb把腳本push進去 然後可以執行:
在運行中輸入cmd,進入命令行,輸入adb shell monkey -p <包名> -c android.intent.category.LAUNCHER -s 100 --hprof --ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes --throttle 15 -v -v 1960 >c:\monkey_test.txt ,操作執行的log保存在c盤
注意:這只是monkey的執行log 如果開發需要其他log 還需要用adb抓
只是很簡單的流程…具體問題具體分析 希望你得了些幫助

⑤ android源代碼idreammanager在什麼地方定義的

Google提供的Android包含了原始Android的目標機代碼,主機編譯工具、模擬環境,下載的代碼包經過解壓後(這里是Android2.2的源碼包),源代碼的第一層目錄結構如下:
|-- Makefile
|-- bionic (bionic C庫)
|-- bootable (啟動引導相關代碼)
|-- build (存放系統編譯規則及generic等基礎開發包配置)

|-- cts (Android兼容性測試套件標准)
|-- dalvik (dalvik JAVA虛擬機)
|-- development (應用程序開發相關)
|-- external (android使用的一些開源的模組)
|-- frameworks (核心框架——java及C++語言)
|-- hardware (主要保護硬解適配層HAL代碼)
|-- libcore
|-- ndk
|-- device
|-- out (編譯完成後的代碼輸出與此目錄)
|-- packages (應用程序包)
|-- prebuilt (x86和arm架構下預編譯的一些資源)
|-- sdk (sdk及模擬器)
|-- system (文件系統庫、應用及組件——C語言)
`-- vendor (廠商定製代碼)

bionic 目錄

|-- libc (C庫)
| |-- arch-arm (ARM架構,包含系統調用匯編實現)
| |-- arch-x86 (x86架構,包含系統調用匯編實現)
| |-- bionic (由C實現的功能,架構無關)
| |-- docs (文檔)
| |-- include (頭文件)
| |-- inet
| |-- kernel (Linux內核中的一些頭文件)
| |-- netbsd (?netbsd系統相關,具體作用不明)
| |-- private (?一些私有的頭文件)
| |-- stdio (stdio實現)
| |-- stdlib (stdlib實現)
| |-- string (string函數實現)
| |-- tools (幾個工具)
| |-- tzcode (時區相關代碼)
| |-- unistd (unistd實現)
| `-- zoneinfo (時區信息)
|-- libdl (libdl實現,dl是動態鏈接,提供訪問動態鏈接庫的功能)
|-- libm (libm數學庫的實現,)
| |-- alpha (apaha架構)
| |-- amd64 (amd64架構)
| |-- arm (arm架構)
| |-- bsdsrc (?bsd的源碼)
| |-- i386 (i386架構)
| |-- i387 (i387架構?)
| |-- ia64 (ia64架構)
| |-- include (頭文件)
| |-- man (數學函數,後綴名為.3,一些為freeBSD的庫文件)
| |-- powerpc (powerpc架構)
| |-- sparc64 (sparc64架構)
| `-- src (源代碼)
|-- libstdc++ (libstdc++ C++實現庫)
| |-- include (頭文件)
| `-- src (源碼)
|-- libthread_db (多線程程序的調試器庫)
| `-- include (頭文件)
`-- linker (動態鏈接器)
`-- arch (支持arm和x86兩種架構)

bootable 目錄

|-- bootloader (適合各種bootloader的通用代碼)
| `-- legacy (估計不能直接使用,可以參考)
| |-- arch_armv6 (V6架構,幾個簡單的匯編文件)
| |-- arch_msm7k (高通7k處理器架構的幾個基本驅動)
| |-- include (通用頭文件和高通7k架構頭文件)
| |-- libboot (啟動庫,都寫得很簡單)
| |-- libc (一些常用的c函數)
| |-- nandwrite (nandwirte函數實現)
| `-- usbloader (usbloader實現)
|-- diskinstaller (android鏡像打包器,x86可生產iso)
`-- recovery (系統恢復相關)
|-- edify (升級腳本使用的edify腳本語言)
|-- etc (init.rc恢復腳本)
|-- minui (一個簡單的UI)
|-- minzip (一個簡單的壓縮工具)
|-- mttils (mtd工具)
|-- res (資源)
| `-- images (一些圖片)
|-- tools (工具)
| `-- ota (OTA Over The Air Updates升級工具)
`-- updater (升級器)

build目錄

|-- core (核心編譯規則)
|-- history (歷史記錄)
|-- libs
| `-- host (主機端庫,有android 「cp」功能替換)
|-- target (目標機編譯對象)
| |-- board (開發平台)
| | |-- emulator (模擬器)
| | |-- generic (通用)
| | |-- idea6410 (自己添加的)
| | `-- sim (最簡單)
| `-- proct (開發平台對應的編譯規則)
| `-- security (密鑰相關)
`-- tools (編譯中主機使用的工具及腳本)
|-- acp (Android "acp" Command)
|-- apicheck (api檢查工具)
|-- applypatch (補丁工具)
|-- apriori (預鏈接工具)
|-- atree (tree工具)
|-- bin2asm (bin轉換為asm工具)
|-- check_prereq (檢查編譯時間戳工具)
|-- dexpreopt (模擬器相關工具,具體功能不明)
|-- droiddoc (?作用不明,java語言,網上有人說和JDK5有關)
|-- fs_config (This program takes a list of files and directories)
|-- fs_get_stats (獲取文件系統狀態)
|-- iself (判斷是否ELF格式)
|-- isprelinked (判斷是否prelinked)
|-- kcm (按鍵相關)
|-- lsd (List symbol dependencies)
|-- releasetools (生成鏡像的工具及腳本)
|-- rgb2565 (rgb轉換為565)
|-- signapk (apk簽名工具)
|-- soslim (strip工具)
`-- zipalign (zip archive alignment tool)

dalvik目錄 dalvik虛擬機
.
|-- dalvikvm (main.c的目錄)
|-- dexmp (dex反匯編)
|-- dexlist (List all methods in all concrete classes in a DEX file.)
|-- dexopt (預驗證與優化)
|-- docs (文檔)
|-- dvz (和zygote相關的一個命令)
|-- dx (dx工具,將多個java轉換為dex)
|-- hit (?java語言寫成)
|-- libcore (核心庫)
|-- libcore-disabled (?禁用的庫)
|-- libdex (dex的庫)
|-- libnativehelper (Support functions for Android's class libraries)
|-- tests (測試代碼)
|-- tools (工具)
`-- vm (虛擬機實現)

development 目錄 (開發者需要的一些常式及工具)
|-- apps (一些核心應用程序)
| |-- BluetoothDebug (藍牙調試程序)
| |-- CustomLocale (自定義區域設置)
| |-- Development (開發)
| |-- Fallback (和語言相關的一個程序)
| |-- FontLab (字型檔)
| |-- GestureBuilder (手勢動作)
| |-- NinePatchLab (?)
| |-- OBJViewer (OBJ查看器)
| |-- SdkSetup (SDK安裝器)
| |-- SpareParts (高級設置)
| |-- Term (遠程登錄)
| `-- launchperf (?)
|-- build (編譯腳本模板)
|-- cmds (有個monkey工具)
|-- data (配置數據)
|-- docs (文檔)
|-- host (主機端USB驅動等)
|-- ide (集成開發環境)
|-- ndk (本地開發套件——c語言開發套件)
|-- pdk (Plug Development Kit)
|-- samples (演示程序)
| |-- AliasActivity ()
| |-- ApiDemos (API演示程序)
| |-- BluetoothChat (藍牙聊天)
| |-- BrowserPlugin (瀏覽器插件)
| |-- BusinessCard (商業卡)
| |-- Compass (指南針)
| |-- ContactManager (聯系人管理器)
| |-- CubeLiveWall** (動態壁紙的一個簡單常式)
| |-- FixedGridLayout (像是布局)
| |-- GlobalTime (全球時間)
| |-- HelloActivity (Hello)
| |-- Home (Home)
| |-- JetBoy (jetBoy游戲)
| |-- LunarLander (貌似又是一個游戲)
| |-- MailSync (郵件同步)
| |-- MultiResolution (多解析度)
| |-- MySampleRss (RSS)
| |-- NotePad (記事本)
| |-- RSSReader (RSS閱讀器)
| |-- SearchableDictionary (目錄搜索)
| |-- **JNI (JNI常式)
| |-- SkeletonApp (空殼APP)
| |-- Snake (snake程序)
| |-- SoftKeyboard (軟鍵盤)
| |-- Wiktionary (?維基)
| `-- Wiktionary**(?維基常式)
|-- scripts (腳本)
|-- sdk (sdk配置)
|-- simulator (?模擬器)
|-- testrunner (?測試用)
`-- tools (一些工具)

⑥ android monkey測試需要調用源代碼么

monkey測試是隨機調用app的各個功能,不調用源代碼。

⑦ android 源碼 怎麼只編譯 systemui

Google提供的Android包含了原始Android的目標機代碼,主機編譯工具、模擬環境,下載的代碼包經過解壓後(這里是Android2.2的源碼包),源代碼的第一層目錄結構如下: -- Makefile -- bionic (bionic C庫) -- bootable (啟動引導相關代碼) -- build (存放系統編譯規則及generic等基礎開發包配置) -- cts (Android兼容性測試套件標准) -- dalvik (dalvik JAVA虛擬機) -- development (應用程序開發相關) -- external (android使用的一些開源的模組) -- frameworks (核心框架——java及C++語言) -- hardware (主要保護硬解適配層HAL代碼) -- libcore -- ndk -- device -- out (編譯完成後的代碼輸出與此目錄) -- packages (應用程序包) -- prebuilt (x86和arm架構下預編譯的一些資源) -- sdk (sdk及模擬器) -- system (文件系統庫、應用及組件——C語言) `-- vendor (廠商定製代碼) bionic 目錄 -- libc (C庫) -- arch-arm (ARM架構,包含系統調用匯編實現) -- arch-x86 (x86架構,包含系統調用匯編實現) -- bionic (由C實現的功能,架構無關) -- docs (文檔) -- include (頭文件) -- inet -- kernel (Linux內核中的一些頭文件) -- netbsd (?netbsd系統相關,具體作用不明) -- private (?一些私有的頭文件) -- stdio (stdio實現) -- stdlib (stdlib實現) -- string (string函數實現) -- tools (幾個工具) -- tzcode (時區相關代碼) -- unistd (unistd實現) `-- zoneinfo (時區信息) -- libdl (libdl實現,dl是動態鏈接,提供訪問動態鏈接庫的功能) -- libm (libm數學庫的實現,) -- alpha (apaha架構) -- amd64 (amd64架構) -- arm (arm架構) -- bsdsrc (?bsd的源碼) -- i386 (i386架構) -- i387 (i387架構?) -- ia64 (ia64架構) -- include (頭文件) -- man (數學函數,後綴名為.3,一些為freeBSD的庫文件) -- powerpc (powerpc架構) -- sparc64 (sparc64架構) `-- src (源代碼) -- libstdc++ (libstdc++ C++實現庫) -- include (頭文件) `-- src (源碼) -- libthread_db (多線程程序的調試器庫) `-- include (頭文件) `-- linker (動態鏈接器) `-- arch (支持arm和x86兩種架構) bootable 目錄 -- bootloader (適合各種bootloader的通用代碼) `-- legacy (估計不能直接使用,可以參考) -- arch_armv6 (V6架構,幾個簡單的匯編文件) -- arch_msm7k (高通7k處理器架構的幾個基本驅動) -- include (通用頭文件和高通7k架構頭文件) -- libboot (啟動庫,都寫得很簡單) -- libc (一些常用的c函數) -- nandwrite (nandwirte函數實現) `-- usbloader (usbloader實現) -- diskinstaller (android鏡像打包器,x86可生產iso) `-- recovery (系統恢復相關) -- edify (升級腳本使用的edify腳本語言) -- etc (init.rc恢復腳本) -- minui (一個簡單的UI) -- minzip (一個簡單的壓縮工具) -- mttils (mtd工具) -- res (資源) `-- images (一些圖片) -- tools (工具) `-- ota (OTA Over The Air Updates升級工具) `-- updater (升級器) build目錄 -- core (核心編譯規則) -- history (歷史記錄) -- libs `-- host (主機端庫,有android 「cp」功能替換) -- target (目標機編譯對象) -- board (開發平台) -- emulator (模擬器) -- generic (通用) -- idea6410 (自己添加的) `-- sim (最簡單) `-- proct (開發平台對應的編譯規則) `-- security (密鑰相關) `-- tools (編譯中主機使用的工具及腳本) -- acp (Android "acp" Command) -- apicheck (api檢查工具) -- applypatch (補丁工具) -- apriori (預鏈接工具) -- atree (tree工具) -- bin2asm (bin轉換為asm工具) -- check_prereq (檢查編譯時間戳工具) -- dexpreopt (模擬器相關工具,具體功能不明) -- droiddoc (?作用不明,java語言,網上有人說和JDK5有關) -- fs_config (This program takes a list of files and directories) -- fs_get_stats (獲取文件系統狀態) -- iself (判斷是否ELF格式) -- isprelinked (判斷是否prelinked) -- kcm (按鍵相關) -- lsd (List symbol dependencies) -- releasetools (生成鏡像的工具及腳本) -- rgb2565 (rgb轉換為565) -- signapk (apk簽名工具) -- soslim (strip工具) `-- zipalign (zip archive alignment tool) dalvik目錄 dalvik虛擬機 . -- dalvikvm (main.c的目錄) -- dexmp (dex反匯編) -- dexlist (List all methods in all concrete classes in a DEX file.) -- dexopt (預驗證與優化) -- docs (文檔) -- dvz (和zygote相關的一個命令) -- dx (dx工具,將多個java轉換為dex) -- hit (?java語言寫成) -- libcore (核心庫) -- libcore-disabled (?禁用的庫) -- libdex (dex的庫) -- libnativehelper (Support functions for Android's class libraries) -- tests (測試代碼) -- tools (工具) `-- vm (虛擬機實現) development 目錄 (開發者需要的一些常式及工具) -- apps (一些核心應用程序) -- BluetoothDebug (藍牙調試程序) -- CustomLocale (自定義區域設置) -- Development (開發) -- Fallback (和語言相關的一個程序) -- FontLab (字型檔) -- GestureBuilder (手勢動作) -- NinePatchLab (?) -- OBJViewer (OBJ查看器) -- SdkSetup (SDK安裝器) -- SpareParts (高級設置) -- Term (遠程登錄) `-- launchperf (?) -- build (編譯腳本模板) -- cmds (有個monkey工具) -- data (配置數據) -- docs (文檔) -- host (主機端USB驅動等) -- ide (集成開發環境) -- ndk (本地開發套件——c語言開發套件) -- pdk (Plug Development Kit) -- samples (演示程序) -- AliasActivity () -- ApiDemos (API演示程序) -- BluetoothChat (藍牙聊天) -- BrowserPlugin (瀏覽器插件) -- BusinessCard (商業卡) -- Compass (指南針) -- ContactManager (聯系人管理器) -- CubeLiveWall** (動態壁紙的一個簡單常式) -- FixedGridLayout (像是布局) -- GlobalTime (全球時間) -- HelloActivity (Hello) -- Home (Home) -- JetBoy (jetBoy游戲) -- LunarLander (貌似又是一個游戲) -- MailSync (郵件同步) -- MultiResolution (多解析度) -- MySampleRss (RSS) -- NotePad (記事本) -- RSSReader (RSS閱讀器) -- SearchableDictionary (目錄搜索) -- **JNI (JNI常式) -- SkeletonApp (空殼APP) -- Snake (snake程序) -- SoftKeyboard (軟鍵盤) -- Wiktionary (?維基) `-- Wiktionary**(?維基常式) -- scripts (腳本) -- sdk (sdk配置) -- simulator (?模擬器) -- testrunner (?測試用) `-- tools (一些工具)

閱讀全文

與androidmonkey源碼相關的資料

熱點內容
華為mml命令查看用戶量 瀏覽:905
場論朗道pdf 瀏覽:369
如何使用qtquick編譯器 瀏覽:46
山西高配伺服器雲伺服器 瀏覽:740
為什麼編譯按f9沒反應 瀏覽:118
購物app都適合買什麼東西 瀏覽:273
savetxt函數python 瀏覽:573
編譯器小端改大端 瀏覽:638
華為安卓哪些文件夾能刪除 瀏覽:402
手機samp伺服器地址 瀏覽:205
phpformat函數 瀏覽:563
單片機由線 瀏覽:591
如何查找方舟編譯過的app 瀏覽:897
青山有什麼做演算法的公司 瀏覽:568
硬體編譯原理圖 瀏覽:162
程序員技術總監 瀏覽:72
程序員網易雲報告 瀏覽:463
studio編譯功能在哪裡 瀏覽:242
空氣壓縮機尺寸 瀏覽:988
sockethttpsphp 瀏覽:488