<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## adb簡介及使用 **針對移動端 Android 的測試, adb 命令是很重要的一個點,必須將常用的 adb 命令熟記于心, 將會為 Android 測試帶來很大的方便,其中很多命令將會用于自動化測試的腳本當中。** **Android Debug Bridge** **1 介紹** adb 其實就是 Android Debug Bridge, Android 調試橋的縮寫,adb 是一個*C/S*架構的命令行工具,用于通過電腦端與模擬器或者真實設備交互。在某些特殊的情況下進入不了系統,adb就派上用場啦!下面我們學習一下常用的adb命令吧! >[danger] ## 項目一:真機測試連接設備(由于不方便演示且不用設備連接方式有所不同 所以在本教程中僅僅演示連接方式,adb命令和模擬器是一樣的) 1. 在桌面的應用列表中找到“設置”,點擊進入。 ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/d400248ca608a50fe4b9f73810cec7f88b77ff99.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) 2. 在列表中找到“關于”選項(一般在列表底部),點擊進入。 ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/e6ae36066b0192dd4e0511471a87031c98c0f099.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) 3. 找到“軟件信息”選項,點擊進入。 ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/359bee5e4a2379717258316c93196120a6cde399.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) 4. 選擇“更多”選項(有些設備的版本號可能在此目錄下,請忽略此步驟)。 ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/bab5c45872dade49fb4a2ce226042e6816e9d599.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) 5. 找到“內部版本號”或者“版本號”,快速連擊數下(手機不同需要點擊的次數可能也會有所不同),然后系統會有如圖提示。 ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/d47cb624d8e9ccd21d23f6ed0e40102a05e2c999.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/a13bbe10bc33ec3885febe5b295f0c14c37b3c9e.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) 6. 這時回到設置主界面,發現“關于”上方出現了“開發人員選項”。 ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/87c8bf46b7b1eef9c4f8ebc8bfb33c4132ba329e.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) 7. 點擊進入剛剛出現的“開發人員選項”,此功能默認為關閉,需要將右上角的開關打開。 ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/023cff37c97622bcb88068d3a05fd5460496289e.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) 8. 勾選“usb調試”,系統會例行提示,選擇“確定”,此時您的安卓手機已打開了usb調試,您可以將手機連接到電腦進行數據備份、root、刷機等操作。 ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/b442d6d246fe474e12c6940bb0ef354f51b81f9e.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) ![安卓手機如何打開開發者模式進行usb調試](https://exp-picture.cdn.bcebos.com/b57fb6db574afa324ad98b4354b2dc19cf2c149e.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1%2Fquality%2Cq_80) >[danger] ## 項目二:使用模擬器測試連接設備 **2、連接設備** 打開cmd(如果使用MuMu自帶adb,則cd?C:\\Program Files (x86)\\Nemu\\vmonitor\\bin\\) adb kill-server(MuMu自帶:adb\_server.exe kill-server) 連接模擬器端口:adb connect 127.0.0.1:7555(MuMu自帶:adb\_server.exe?connect 127.0.0.1:7555 夜神自帶:adb connect 127.0.0.1:62001) 列出已連接的設備:adb devices ![](https://img.kancloud.cn/1e/ae/1eae4a2ff95ba3b222e2496e41f98717_426x56.png) 注意:如果設備列表里沒有顯示127.0.0.1:7555設備,則可多次嘗試adb kill-server和adb connect 127.0.0.1:7555連接,不同的模擬器端口號有所不同有的模擬器使用自帶的adb命令可以直接連接成功的 **3、如何在連接多個設備下對MuMu模擬器進行操作** 命令格式:adb -s 模擬器端口 其他命令,如:adb -s 127.0.0.1:7555 shell pm list package -3 (注意:如果連接的設備數量超過1臺必須在執行任何命令之前添加 此參數否則無法執行成功) **4、安裝與卸載apk** 在已連接MuMu設備下輸入以下命令: 安裝apk adb install C:\\\\xx.apk 卸載apk adb uninstall 包名 **5、獲取已安裝應用包名** 所有應用包名列表 adb shell pm list packages 第三方應用包名列表 adb shell pm list packages -3 系統應用包名列表 adb shell pm list packages -s 正在運行應用包名 adb shell dumpsys window | findstr mCurrentFocus ![](https://img.kancloud.cn/29/28/292859061ff0bdf2a1a92e5616e4a15d_568x131.png) **6、獲取已安裝應用Activity類名** adb logcat ActivityManager:I \*:s | findstr "cmp"后啟動目標應用 如啟動第五人格: ![](https://nie.res.netease.com/r/pic/20190129/0328e8b1-3297-4e69-8669-a2009bbc86ab.png) 第一個cmp=com.netease.dwrg/.Launcher則表示:應用包名/應用Activity類名,完整Activity名=com.netease.dwrg.Launcher **7、啟動應用** adb shell am start -n 應用包名/應用Activity類名 如啟動第五人格應用: adb shell am start -n com.netease.dwrg/.Launcher 若想查看啟動應用耗時,則可使用adb shell am start -W 應用包名/應用Activity類名,如: ![](https://img.kancloud.cn/52/00/52006f362ac9e865679ec5a72cb224b7_972x134.png) **8、關閉應用** adb shell am force-stop 應用包名 如關閉第五人格應用: adb shell am force-stop com.netease.dwrg **9、查看應用版本號** adb shell dumpsys package 應用包名 | findstr version 如查看第五人格版本號: ![](https://img.kancloud.cn/27/9c/279c6a38c77e73ec408ffad54e2c300c_797x60.png) **10、清理應用數據** adb shell pm clear 應用包名 **11、模擬輸入** 按鍵輸入 adb shell input keyevent 鍵值 如:adb shell input keyevent 3表示按下HOME鍵,其他鍵值對應鍵位可網上搜索 字符輸入 adb shell input text 字符 如:adb shell input text test則表示輸入了test字符串 ps:字符不支持中文 鼠標點擊 adb shell input tap X Y X Y分別為當前屏幕下的x和y軸坐標值 鼠標滑動 adb shell input swipe X1 Y1 X2 Y2 X1 Y1 和X2 Y2分別為滑動起始點的坐標 **12、從電腦上傳文件至模擬器** adb push C:\\test.apk /data **13、從模擬器復制文件至電腦** adb pull /data/test.apk C:\\ **14、截圖** 將模擬器當前顯示截圖 adb shell screencap /data/screen.png 將截圖文件下載至電腦 adb pull /data/screen.png C:\\ **15、錄制視頻** 開始錄制 adb shell screenrecord /data/test.mp4 結束錄制 可按CTRL+C結束錄制 導出視頻文件 adb pull /data/test.mp4 C:\\ **16、查看設備信息** 設備型號 adb shell getprop ro.product.model 設備品牌 adb shell getprop ro.product.brand 設備處理器型號 adb shell getprop ro.product.board 設備安卓版本號 adb shell getprop ro.build.version.release 設備引擎渲染模式 adb shell dumpsys SurfaceFlinger|findstr "GLES" **17、其他** adb logcat 獲取系統的比較及時的日志信息(是整個系統的日志所有程序包括系統程序) 1. dumpsys: dumpsys命令可以提供非常多的系統信息。可以通過**adb shell service list**來查看dumpsys能提供查詢信息的服務,常用的有: ![](https://img.kancloud.cn/f8/c3/f8c3860eb2c6a2fbf4ac58962cf2ecf6_856x393.PNG) 例如,要查看電池信息,命令行輸入**adb shell dumpsys battery**,可以看到如下圖: ![](https://img.kancloud.cn/a9/59/a9590e5b80b58f492c3c30f8d3ba603a_647x329.PNG) * 使用**adb shell dumpsys activity**查看信息,會有很長的代碼,分析其結構,可以把上述命令得到的信息拆分為: ``` dumpsys activity intents dumpsys activity broadcasts dumpsys activity providers dumpsys activity permissions dumpsys activity services dumpsys activity recents dumpsys activity activities dumpsys activity processes ``` 補充的幾個常用的命令 adb shell am start -W 包名/xxxActivity 執行結果解釋: 1、ThisTime:一般和TotalTime時間一樣,除非在應用啟動時開了一個透明的Activity預先處理一些事再顯示出主Activity,這樣將比TotalTime小。 2、TotalTime:應用的啟動時間,包括創建進程+Application初始化+Activity初始化到界面顯示。 3、WaitTime:一般比TotalTime大點,包括系統影響的耗時。 **【如何抓包】** **步驟一,**分別下載最新版本的“fiddler”和”mumu模擬器”; **步驟二,**啟動 fiddler Tools -> Options -> Connections 勾選 allow remote computers to connect (允許遠程計算機連接) 重啟程序,切記:一定要重啟; ![](https://img.kancloud.cn/62/1e/621e3453e0bdca1cf15c824c16c3f951_813x552.png) ![](https://img.kancloud.cn/97/8a/978a2b0eff9f68546f656cc6b891bfd1_813x552.png) ![](https://img.kancloud.cn/d0/cb/d0cbb84e81c137166e81689a3747b0af_813x552.png) **步驟三,**查看IP,如果有虛擬網卡,所以需要ipconfig /all查看真實IP; ![](https://img.kancloud.cn/5b/ba/5bbacf56f1b51ef6fc586931d00b219c_513x383.png) ![](https://img.kancloud.cn/ce/2a/ce2a8957e91f9e57ed5364173a0bb1e5_820x349.png) **步驟四,**啟動mumu模擬器,設置代理; ![](https://img.kancloud.cn/81/2f/812f6349a4e9e407dbde4d6233458d35_1024x576.png) ![](https://img.kancloud.cn/03/fc/03fcd79821f69cacef19f52f01118eae_1024x576.png) ![](https://img.kancloud.cn/7a/a6/7aa62f14aac100f3da8b5831ff4a51aa_1024x576.png) ![](https://img.kancloud.cn/a0/c1/a0c1905e47cdacb7079b485172ae077a_1024x576.png) ![](https://img.kancloud.cn/55/79/5579dbd44b7588540555b520d75e5c66_1193x702.png) **步驟五,**保存后即可操作。 ![](https://img.kancloud.cn/6b/d6/6bd64a2687f4bcd75c516512a3c00bb0_1024x584.png) >[danger] # Monkey的使用 Monkey是Android SDK提供的一個命令行工具,可以簡單方便的發送偽隨機的用戶事件流,對Android APP做壓力(穩定性)測試。主要是為了測試app是否存在無響應和崩潰的情況。 # 一、環境搭建   只要按照配置Android SDK環境和環境變量即可。 # 二、Monkey的使用 ## 1、進入adb shell環境 ## 最近經常提到命令一詞那究竟什么事命令呢?其實任何一個命令都是其平臺下個一個文件而已(win平臺,Linux平臺,Mac平臺)那在我們學習monkey之前來找一下這個文件究竟在哪里?執行下面的命令試試看 ``` find / -iname monkey ``` 有時候在cmd窗口中輸出的日志太多時可以使用重定向輸出到文件中 ``` 命令 + >D://aa.txt ``` ![](https://img.kancloud.cn/3f/6d/3f6d2d724bbeee606f3f23ec45d8dd27_620x373.png)   在windows環境中,進入DOS界面,在界面中,輸入adb shell即可進入adb shell環境 (注意:adb shell服務使用的5037的端口,如果此端口被其他進程占用時,將不能正常啟動adb shell,問題處理方法見:[啟動adb shell報錯](https://www.cnblogs.com/smallstone2018/p/10024438.html)) 如: ?![](https://img2018.cnblogs.com/blog/1459388/201811/1459388-20181127091437089-1048473024.png)   表示adb shell啟動成功,shell@\*\*\*\*:/$中,\*\*\*\*表示設備id。$:表示普通用戶;#表示root用戶。 ## 2、在adb shell環境下輸入monkey的相應命令即可。 如: ![](https://img.kancloud.cn/c6/30/c6307f903831a9c6c538957673332076_259x27.png) ## 3、查看需要測試的包名   如果有root權限,可以進入/data/data/下使用ls/ls-a查看(不能使用ll)   如果無root權限,可以使用:pm ?list packages查看   (需要控制monkey執行的時間,可以通過設置執行時長/事件發送延時,計算出需要執行的次數。如:想要monkey運行24小時,每100毫秒發送一個事件。24\*60\*60\*1000/100=864000(次)   monkey -p ??\*\*\* ?--ignore-crashes --ignore-timeoutss --throttle 100 864000   表示:此次monkey將會運行24小時 # 三、Monkey的命令參數詳細說明   monkey的命令參數分為:   基礎參數:\-v、\-s、\-p、\--throttle等   調試選項:\--ignore-crashes等   事件類型:\--pct-touch等 ![](https://img.kancloud.cn/6a/e1/6ae10d5dc14a4c049b2e1b76210e5f19_548x435.png) ## (一)基礎參數 ### 1、最簡單的monkey命令(monkey 100) 表示:在設備上,針對整個系統發送100個偽隨機事件。 ![](https://img.kancloud.cn/a0/ea/a0eae2c097b1df83ac583f342ad794dc_553x109.png) ### 2、\-v參數 用于指定反饋信息級別(信息級別就是日志的詳細程度)總共分為3級,默認為\-v(對應:level0) \-v:只提供啟動提示、測試完成提示和最終結果等少量信息。 \-v -v:較為詳細的日志,包括每個發送到activity的時間信息。 \-v -v ?-v:最詳細的日志,包括測試中選中/未選中的activity信息。 ![](https://img.kancloud.cn/f4/42/f442f0c3d162ea4504bd89e219406f94_553x304.png) ![](https://img.kancloud.cn/ee/66/ee66c4df4937b31f9a5842ca732c55c6_553x297.png)   注意:在monkey測試完成時,最后一定會有一個:monkey finished標識。 ### 3、\-p參數   在我們測試時,是針對具體的app進行測試的,所以在使用monkey測試時,我們需要提供具體的app包名給monkey,此時就需要用到參數\-p。在\-p后跟隨app包名。   在測試時,可以不指定包名,此時monkey會在測試設備上隨機啟動app進行操作;如果只需要測試一個app,使用一個\-p即可;如果有多個app同時測試,可以直接使用\-p包名1 -p包名2指定具體要測試的app。 如: ![](https://img.kancloud.cn/f7/f4/f7f4d1d846eab56e857a1e65ee220e8a_553x374.png) ### 4、\-s參數   種子值(seed),因為monkey是發送的是偽隨機的事件流,但是如果兩次seed值相同,那兩次monkey測試所產生的事件序列也相同。(所以一般在測試時要記錄seed值,以防出現無響應和crash,不容易驗證。)   注意:\-s需要跟在包名后,次數前 ### 5、\--throttle參數   設置執行操作的延遲時間(毫秒)\--是指兩個事件之間的間隔,如果沒有指定此參數,會盡可能快的生成和發送事件。 ## (二)調試選項 ### 1、\--ignore-crashes   用于指定當應用程序崩潰時,Monkey是否停止運行。如果使用此參數,即使應用程序崩潰,monkey依然會發送事件,直到事件計數完成。 ### 2、\---ignore-timeouts   用于指定當應用程序發生ANR(Application No Responding)錯誤時,Monkey是否停止運行。如果使用此參數,即使應用程序發生ANR錯誤,Monkey依然會發送事件,直到事件計數完成。 ### 3、\--ignore-security-exceptionss   用于指定當應用程序發生許可錯誤時(如證書許可,網絡許可等),Monkey是否停止運行。如果使用此參數,即使應用程序發生許可錯誤,Monkey依然會發送事件,直到事件計數完成。 ### 4、\--kill-process-after-error   用于指定當應用程序發生錯誤時,是否停止其運行。如果指定此參數,當應用程序發生錯誤時,應用程序停止運行并保持在當前狀態(注意:應用程序僅是靜止在發生錯誤時的狀態,系統并不會結束該應用程序的進程)。 ### 5、\--monitor-native-crashes   用于指定是否監視并報告應用程序發生崩潰的本地代碼 ### 6、\--hprof   該選項設置后,將會在monkey事件序列前后立刻生成report,大小為大于5MB,存儲在/data/misc ## (三)事件類型 ``` public static final int FACTOR_TOUCH = 0; public static final int FACTOR_MOTION = 1; public static final int FACTOR_PINCHZOOM = 2; public static final int FACTOR_TRACKBALL = 3; public static final int FACTOR_ROTATION = 4; public static final int FACTOR_PERMISSION = 5; public static final int FACTOR_NAV = 6; public static final int FACTOR_MAJORNAV = 7; public static final int FACTOR_SYSOPS = 8; public static final int FACTOR_APPSWITCH = 9; public static final int FACTOR_FLIP = 10; public static final int FACTOR_ANYTHING = 11; ```   monkey在發送偽隨機事件時,是有不同的類型的。默認隨機分配比例,也可以指定其百分比。如果不設置會是\--pct-anyevent為100%,也就是純隨機事件;如果配置了其他參數,但是不夠100%,余下的百分比部分也是\--pct-anyevent事件。 如: ![](https://img.kancloud.cn/41/47/41473e85d889accf237f22cd1d7860ec_218x219.png) 目前共包含11中類型的事件。 分別為: **0:觸摸事件\--pct-touch**   調整touch觸屏事件的百分比,觸碰事件就是指在屏幕上的一個單獨位置的一次點擊/抬起的事件。 **1:滑屏事件\--pct-motion(手勢事件)**   (手勢事件是由一個在屏幕某處的按下事件、一系列的偽隨機移動、一個抬起事件組成)即一個滑動操作,但是是直線的,不能拐彎) **2:--pct-pinchzoom** **3:軌跡球\--pct-trackball**   (軌跡球事件包括一個或多個隨機移動,有時還伴有點擊。軌跡球現在智能手機上已經沒有了,就是類似手柄的方向鍵一樣) **4:旋轉(\--pct-rotation)**   旋轉屏幕 **5:--pct-permission** **6:導航\--pct-nav**   (導航事件包括上下左右,如方向輸入設備的輸入)老手機的上下左右鍵,智能機上沒有) **7:主導航\--pct-majornav**   調整主要導航事件的百分比(如中間鍵、取消、確定或菜單引發的圖形接口的動作) **8:系統按鍵\--pct-syskeys** 調整 “系統” 按鍵事件的百分比 (這些按鍵通常被保留,由系統使用,如 Home、Back、Start Call、End Call 及音量控制鍵) **9:app切換\--pct-appswitch**   調整啟動activity的百分比,在隨機間隔中,執行一個startActivity()方法調用,作為一種最大化的覆蓋安裝包的所有的activity的方法 **10:鍵盤翻轉(\--pct-flip)** **11:隨機\--pct-anyevent**   調整其他類型的事件的百分比,比如按鍵或其他不太常用到的一些事件的百分比
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看