日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 基本测试工具的使用

發布時間:2025/3/8 Android 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 基本测试工具的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android 基本測試工具的使用和無線學習介紹

1,日志查看工具

1)DDMS

Android測試中,使用最多的日志查看工具就是DDMS了。

ddms可以從兩個地方打開,1,Eclipse的的ddms插件(屬于Eclipse 的SDK插件),2在Android SDK安裝目錄下的tools文件夾下面。

DDMS功能非常齊全,不僅僅可以查看日志,還可以截圖,打開文件目錄,終止進程等等功能,這里先直說查看日志

看日志就靠這一塊了。

日志的過濾等級

Error :error為最嚴重的錯誤,如果是拋到虛擬機的系統錯誤,就可能引起客戶端崩潰,比如最為常見的空指針異常。

Warning :警告,一般嚴重,比如網絡異常什么,一般不會有crash,但需要引起注意,過濾warning異常的時候,會同時過濾出error錯誤。

Info :信息,也就是一些系統的信息,比如頁面切換時間,手機信號量等等、過濾info信息同時會過來出warning和error信息

Debug debug信息,系統的一些debug信息,包括所有error,warning和info。

Verbose:詳情,包括所有error warning info和debug,還有其他的一些詳情

Assert:斷言,沒見過,可能跟單元測試有關。


日志的顯示

一條日志分為7部分

1,level 等級,即上文說的error,warning等,有系統決定,開發打印的日志也可自行決定等級。

2,time時間,日志時間。

3,pid進程ID

4,tid線程ID

5,application應用,有時候會打印出所屬的應用名稱,如com.taobao.taobao

6,tag標簽,開發可以自行設定log的標簽,便于過濾,

7,text文本,即日志內容

DDMS的其他日志功能

日志清空,日志保存,日志過濾,日志暫停

日志過濾:

DDMS的詳細使用可以參考http://developer.android.com/tools/debugging/ddms.html

中文版

http://wiki.eoeandroid.com/Using_DDMS


2)Logcat命令

一般使用的不多,僅僅在ddms啟動不了,或者識別不了手機的時候才會使用。前提條件,安裝了Android SDK。

使用方法,直接在命令行下輸入adb logcat,如果日志非常多,強烈建議將文件重定向到文件里面。

或者先輸入adb shell ,再使用logcat命令,日志多的話,可以加管道操作進行過濾,即logcat|grep XXXX。

具體使用和ddms差不多,不多由于日志很多,用這種方法常年看不過來。日志內容和ddms一致

3)Wmock

如果不需要關注客戶端本地日志,只需要看客戶端應用層的網絡請求的話。

可以之間用wmock來抓取網絡中的HTTP請求,具體見

http://m.taobaotest.com/wmock/

不在贅述。

4)Wireshark和tcpdump

如果遇到一些比較難以解決的bug,需要深入TCP請求甚至IP請求,就需要用tcpdump對客戶端的進行抓包(如TCP的keepalive包),具體操作如下:

4_1,root手機,手機需要root權限,否則無法使用tcpdump。

4_2,下載tcpdump的Android版本,用push命令將文件推到手機中。不建議推送到SD卡,會有權限問題,可以放到手機的data文件夾下,。

adb push [PCPATH][mobilPATH]

4_3,提升tcpdump的權限。用adb shell進入android bash后,需要手機使用root權限,先提升權限,然后chmod777 tcpdump。

4_4,抓包,啟動你要測試的APP后,適當的時間就可以開始抓包可,在tcpdump當前目錄下,直接使用tcpdump -p -vv -s 0 –w[pcapfilePath] 就可以實現抓包,使用ctrl + C停止。

4_5,導出.pcap文件。退出adb bash , 使用pull命令將.pcap文件導出到PC(adb pull[mobilPath] [PCPATH])

4_6,使用wireshark將日志文件打開,即可以看到所抓到的包了。

5)使用fiddler軟件抓取網絡請求,具體用法和wmock類似,只是fiddler使用自己的機器作為代理服務器,而wmock使用專用的代理服務器。


2,性能工具

1)monkey工具

Monkey可以運行在模擬器或真實設備上,并產生一系列隨機的用戶事件(點擊、觸摸、手勢以及系統級別的事件)。

Monkey一般用來進行壓力測試或穩定性測試。

Monkey通過 adb shell monkey [options] 命令來啟動

常用的參數包括

–p [package name]:指定測試包,參數即為包名,如主客戶端就是com.taobao.taobao

–s [seed]:指定事件隨機參數,參數即為隨機數的種子值。如果這個參數相同,理論上能夠復現所有事件。

- v[number] number:制定發送偽隨機事件的次數。注意,這個隨機事件并非一個時間點只發送一個隨機時間,有可能同時發送幾個事件。

--throttle [milliseconds]:每次發送事件的時間間隔,單位為毫秒,測試的時候常常設定為1000~500之間。如果不設置,點擊間隔會非常短。

下圖就是客戶端monkey的一些點擊日志,如果需要系統輸出的日志。請使用logcat命令收集,并進行重定向。

具體參數情況,請查看幫助文檔http://developer.android.com/tools/help/monkey.html

缺點:遍歷深度優先,部分頁面(需要登錄的頁面無法遍歷到)



性能監測工具

2_1,top工具

使用adb shell進入Android bash下面,然后,和linux下的top一樣。

不懂的話,top –h。具體這里不在細說。

2_2,android的dumpsys命令

通過dumpsys命令也可以獲取手機中一些APK包的系統信息,可以直接通過cmd命令行,輸入adb shell dumpsys [options]就可以了

參數包括:

2_3,ddms的系統檢測

用ddms也可以用來檢測性能,通過選項device和進程,就可以查到app的內存消耗,堆棧消耗,CPU消耗,網絡消耗等等信息,以及控制模擬器(只有模擬器,真機不行)。

下圖為網絡消耗

下圖為內存消耗

具體使用,還是看http://developer.android.com/tools/debugging/ddms.html


3,文件查看工具

1)手機軟件

各種手機助手,比如91手機助手,豌豆莢等等,都有很好的查看手機文件系統的工具。但是這些手機助手只能看SD卡里面的。只能應付日常最基本的使用。

2)DDMS

能夠查看Android文件系統的大多數目錄,但部分沒有相關權限的目錄(貌似是所有用戶的讀權限),無法查看。啟動方法為,通過device->File Explorer,出現下圖頁面

優點是ddms可以方便的導入導出數據到這些不需要root權限的目錄里面。使用方法:左上角的圖標,應該都能看懂吧


3)Adb bash 查看

Adbbash其實可以看成一個閹割版的linux bash系統,用adb shell進入adb bash后其他操作與linux系統基本無差異,但部分命令會無法使用。如下圖,感覺一切都非常熟悉吧。

只要你的手機是root過的,OK,暢游手機的系統文件。


4)RE瀏覽器(rootexplorer)

一句話,神器,但前提是你的手機必須root。在手機上裝上RE后,很多操作就可以在手機上以可視化界面完成了,甚至可以增刪改系統文件。由于權限很高,務必小心操作。比如說,一些app內部文件,可以直接通過RE瀏覽器來查看并修改,確定是文件的哪個值發生了錯誤引起客戶端的bug。


最后,針對這一塊注釋一下一些常用的文件存放地址

自己安裝的APK存放地址:/data/app下,

淘寶客戶端臨時文件(緩存,如圖片等):/sdcard/taobao,這個各個客戶端不一樣,有沒有SD卡也有影響

APP的私有文件(即需要到系統中清除緩存的APP):/data/data/<packageName>下面

APP的ANR日志 :/data/anr 下面

系統預裝的APP:/system/app下面(注意,慎刪,誤刪掛了什么別怪我沒提醒)一般只有預裝包和我們測試的APP出現了沖突的時候,才回去刪除

Adb命令: /system/bin 下面

Android系統源代碼目錄 /system/framework 下面

系統配置文件:/etc 下面

4,打包及簽名

打包過程介紹(為了解決打包過程中的問題而介紹一下)

1,生成R文件,使用aapt.exe程序生成R.java文件,如果Eclipse打開了build AutoMatically,就會在打開工程的時候完成。

2,生成aidl文件,使用aidl.exe程序,把.aidl文件轉化為.java文件。這步如果打開Eclipse的build AutoMatically的功能的話,也會自動生成

3,將.java文件生成.class文件,使用javac將.Java變成.class。

4,將class文件打包生成class.dex文件,使用dx腳本,class文件打包生成class.dex文件

5,打包資源文件,包括所有的res,asserts, Androidmanifest.xml等等文件,使用aapt.exe文件打包

6,生成未簽名的APK安裝文件,使用apkbuild打包成未簽名的apk包

7,簽名,使用jarSigner.jar進行簽名。

8,(優化對齊)


這邊注意兩點:

1,如果打包需要混淆,需要在第3和第4步之間將className進行替換,達到混淆的效果。

2,用Eclipse run出來的包默認保存在工程的bin目錄下面,這個包默認使用的是debug的簽名,如果覆蓋安裝我們自己簽名的APK包,會造成簽名不一致的沖突。

打包工具:

ANT

Maven

5,自動化測試框架

Sword

6,內存的查看

內存的查看工具使用的是Eclipse 下面的mat插件

內存文件查看的過程:

1,導出內存文件

從ddms上面,選擇需要查看內存的進程,然后,把hprof文件dump下來,dump成功后,將生成一個命名為<app包名>.hprof的文件

2,hprof文件進行轉換。

由于android的hprof文件mat文件無法打開,需要使用androidSDK的自帶工具進行轉碼操作。

具體命令為hprof-conv [path] [path]

3,在mat中打開文件

出現上圖后,就可以根據內存地址,找到泄漏的點,或者客戶端內非常消耗的內存模塊了

7,其他常用工具

1,Host修改

在日常測試過程中,經常需要修改手機的host,使其能夠訪問特定的機器。Android的host文件和linux系統一樣,處在/etc/hosts文件當中。但文件需要root權限才能夠查看,且文件是只讀的,即使有root權限,你也無法覆蓋。目前的修改辦法是在手機上裝上RE瀏覽器,然后強制修改host文件,保存退出后生效。

2,強制Kill進程

使用DDMS的進程終止工具

選擇一個進程(要求APP是debug包,否則找不到這個進程),這個按鈕會變成紅色,點擊就可以kill進程了。

3,內存回收(GC)

強制回收內存,還是靠DDMS,如下圖按鈕。

內存“Cause GC”按鈕,強制觸發GC,之后就可以不用按了,他會自動觸發內存的回收,如果隨著APP的使用dataObject持續出現變大的情況,說明APP有內存泄漏的情況(現在的客戶端也會報警)。

如果需要導出需要通過ddms 將heap dump生成出來,用來分析

4,網絡延時和降低帶寬

網絡延時可以通過wmock來實現,當然,更加簡單的方法就是通過更換sim卡來實現,用2G網絡就可以達到網絡延時提高和網絡帶寬的目的兩個目的。


5,APK打包解包命令

aapt 命令 :

aapt dump xmltree [apk path] AndroidManifest.xml 或者aapt dbadging 命令,可以檢查APK包中的信息


轉載于:https://blog.51cto.com/lilier/1335073

總結

以上是生活随笔為你收集整理的Android 基本测试工具的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。