1癣诱、Adb調試橋命令講解
adb:全名Android debug bridge
你可以直接在窗口輸入adb來查看基礎的幫助,會列舉出adb所有的功能
其中adb有很多重要的子命令比如:
adb devices: 查看當前正在連接的所有設備
adb kill-server:關閉adb的后臺進程
adb 本質是在后臺開啟一個server绊寻,這個server會接收adb的各種命令佛玄,他會幫你管理與手機與模擬器的一個連接家凯,這個后臺服務有時候會出現一些問題疗疟,我們可以使用adb kill-server:關閉adb的后臺進程
Adb tcpip:測試工程師非常喜歡的命令程帕,本來真機PC機連接使用的是USB線住练,測試的時候就比較受限,tcpip可以讓我們開啟與安卓真機之間的TCP連接愁拭,可以直接脫離數據線的束縛澎羞。實現手機只要和PC機在同一個wifi網絡下,或者借助一些特殊的轉發(fā)手段敛苇,也可以實現讓其他地方的PC去遠程控制本地多臺手機
Adb connect: 開放一個端口妆绞,進行遠程連接
Adb logcat: 日志查看
Adb Bugreport: 收集日志數據顺呕,用于后續(xù)的分析,比如耗電量括饶,內存株茶、cpu數據等
2、adb shell
Adb shell 可以直通你的手機图焰,可以在手機打開shell通道启盛,調用Android內置的命令,
這是使用非常頻繁的命令
adb shell dumpsys //獲取app各種各樣很重要的信息技羔,比如cpu 內存 耗電量 網絡流量等
Adb shell pm //包管理工具
Adb shell am //Activity管理工具
Adb shell ps //進程
Adb shell monkey //monkey測試工具僵闯,幫助完成兼容性、隨機性測試
前面的命令都是我們做自動化前需要學習的非常種要的基礎
3藤滥、自動化測試命令
除了上述命令外鳖粟,還有一些重要的針對自動化測試的命令,比如
Uiautomator: 獲取到一個app整體的界面結構拙绊、執(zhí)行一些自動化測試向图,非常底層
Input:完成基礎的自動化指令
幾個例子來演示下:
Adb install [包名] //安裝包
Adb shell pm clear com.gkeeper.client //強行殺掉app,清理緩存數據标沪,權限重置
我們這時候把權限都勾上
Adb shell am start -n com.gkeeper.client/com.gkeeper.client.ui.main.IndexActivity -S
再重新再啟動app 發(fā)現這時候不需要再申請權限榄攀,說明這時候已經有一些數據的緩存
Adb shell dumpsys window w |findstr / |findstr name= //當前活動的包名、Activity名
//重新啟動
4金句、Uiautomator
adb shell uiautomator //直接輸入 會有一些幫助內容檩赢,展示它的子命令dump、runtest违寞、events
adb shell uiautomator dump //創(chuàng)建一個當前ui視圖結構的xml文件
adb shell cat /sdcard/window_dump.xml // 查看具體的xml文件內容贞瞒,了解界面結構,展示app當前界面文件里面的每一個控件,元素坞靶,將它變成節(jié)點憔狞,節(jié)點記錄了當前控件的大小、類型彰阴、定位符等
adb shell uiautomator runtest //執(zhí)行UI自動化測試
5瘾敢、adb shell input
adb shell input xxxx //可用于模擬點擊、發(fā)送文本尿这、拖放等事件簇抵,用于最簡單的自動化測試的基礎命令
adb shell input tap 300 563 //點擊事件 后面是x y軸位置,可以借助一些工具找到坐標點
adb shell input text 12345//輸入文本 12345
adb shell input keyevent 4 //鍵盤事件 返回鍵
6射众、安卓性能統計命令 dumpysys