什么是ADB段只?
ADB姥份,即?Android Debug Bridge,它是Android 開發(fā)/測試人員不可替代的強大工具擦盾。
Adb是一種功能多樣的命令行工具窒舟,可讓您與設(shè)備進行通信系忙。adb 命令便于執(zhí)行各種設(shè)備操作(例如安裝和調(diào)試應用),并提供對 Unix shell(可用來在設(shè)備上運行各種命令)的訪問權(quán)限惠豺。
adb的工作原理
當您啟動某個adb 客戶端時银还,客戶端會先檢查是否有 adb 服務器進程正在運行风宁。如果沒有,它將啟動服務器進程蛹疯。服務器在啟動后會與本地 TCP 端口 5037 綁定戒财,并監(jiān)聽 adb 客戶端發(fā)出的命令 - 所有 adb 客戶端均通過端口 5037 與 adb 服務器通信。
參照鏈接:
https://developer.android.google.cn/studio/command-line/adb
[if !supportLists]三苍苞、[endif]adb基本用法
adb 命令的基本語法如下:
adb [-d|-e|-s <serialNumber>] <command>
如果只有一個設(shè)備/模擬器連接時固翰,可以省略掉?[-d|-e|-s ]?這一部分,直接使用?adb 羹呵。
如果有多個設(shè)備/模擬器連接骂际,則需要為命令指定目標設(shè)備。
-d ?指定當前唯一通過USB 連接的 Android 設(shè)備為命令目標
-e ??指定當前唯一運行的模擬器為命令目標
-s <serialNumber> ?指定相應serialNumber 號的設(shè)備/模擬器為命令目標
adb -s 485f0fec install C:\Users\xxx\xxx-01.apk
啟動/停止adb server:
adb start-server
adb kill-server ?
查看adb版本:
adb version
查找手機上的安裝包包名
1.adb shell pm list package? ? 查看手機上所有的安裝包
2.adb shell pm list package -3? ? 查看第三方安裝包
3.adb shell pm list packages -s? ? ?查看系統(tǒng)的包
4.adb shell pm list packages -e “要搜索的內(nèi)容”? ? ?查看啟動包中搜索的包
5.adb shell dumpsys window | findstr mCurrentFocus? ?獲取當前打開的APP包名(前面的為包名冈欢,斜杠后面的是當前啟動的acivity)
6.adb shell pm clear (apk包名)???清除應用數(shù)據(jù)與緩存
7.adb shell am force-stop com.peopledailychina.activity ?強制停止應用
8.adb pull 和adb push 命令
adb pull <手機路徑> ? <本機路徑> ?從手機中拉取信息到本地電腦上
adb push <本機路徑> ?<手機路徑> ?從本地電腦推送信息到手機上
什么是Monkey歉铝?
Monkey是Android中的一個命令行工具,可以運行在模擬器里或?qū)嶋H設(shè)備中凑耻。它向系統(tǒng)發(fā)送偽隨機的用戶事件流(如按鍵輸入太示、觸摸屏輸入、手勢輸入等)香浩,實現(xiàn)對正在開發(fā)的應用程序進行壓力測試类缤。Monkey測試是一種為了測試軟件的穩(wěn)定性、健壯性的快速有效的方法邻吭。(其實可以想象成一只猴子啥都不知道餐弱,瘋狂亂敲......)
Monkey 運行在設(shè)備或模擬器上面,可以脫離PC運行(一般在一些大公司中都是將其抽離成一個測試專用的APP工具囱晴,使用相應的操作來完成測試)膏蚓。
Monkey命令和基本參數(shù)介紹
注意:所有的參數(shù)都需要放在monkey和設(shè)置的次數(shù)之間,參數(shù)的順序可以調(diào)整畸写;若帶了-p 驮瞧,-p必須放在monkey之后,參數(shù)必須在-p和count之間:
adb shell monkey -p com.peopledailychina.activity --ignore-crashes --ignore-timeouts ?--ignore-security-exceptions --pct-touch 70 --pct-motion 25 --pct-majornav 5 -v -v -v --throttle 300 -s 100 100000 > C:\Users\xxx\Desktop\monkey.txt
-v??????????默認級別枯芬,僅提供啟動论笔、測試完成和最終結(jié)果等少量信息
-v? -v ?????提供較為詳細的日志,包括每個發(fā)送到Activity的事件信息
-v? -v? -v???提供最詳細的日志破停,包括了測試中選中/未選中的Activity信息
-s ???????用于指定偽隨機數(shù)生成器的seed值??
--throttle ??用于指定用戶事件的操作間隔時延翅楼,單位是毫秒
--ignore-timeouts ?忽略超時錯誤
--ignore-crashes ??忽略crash
--ignore-security-exceptions忽略許可錯誤