Facebook - idb初識(shí)

image.png

什么是IDB

iOS Debug Bridge - iOS調(diào)試橋、安卓有一個(gè)很出名ADB(安卓調(diào)試橋)它可以很方便的利用PC對(duì)移動(dòng)設(shè)備的連接調(diào)試、包括獲取設(shè)備詳情、安裝|卸載apk、重啟、監(jiān)控設(shè)備信息、同時(shí)給可以進(jìn)行app開(kāi)啟、觸發(fā)點(diǎn)擊、滑動(dòng)、放大等手勢(shì)事件、它可以用來(lái)做app的自動(dòng)化測(cè)試和手機(jī)群控!

由于iOS系統(tǒng)的封閉性、一直沒(méi)有像ADB這么強(qiáng)大、這么實(shí)用的工具、好在Facebook出了這個(gè)IDB工具、讓我們iOS設(shè)備可以像安卓那樣靈活的調(diào)試控制!

雖然libimobiledevice這個(gè)工具也可以進(jìn)行iOS設(shè)備的連接啟動(dòng)、軟件安裝|卸載、監(jiān)控等但是它不如Facebook的idb功能豐富與便利!

安裝idb

1.idb-companio安裝

建議brew方式安裝

brew tap Facebook/fb
brew install idb-companion

idb客戶端安裝

建議python3.6以上

pip3 install fb-idb

以上兩步安裝完畢之后就可以使用idb了!

idb使用

idb —help

可以查看該工具的所有功能

idb常用指令

查看當(dāng)前pc上的所有移動(dòng)設(shè)備包括模擬器信息

idb list-targets

啟動(dòng)一臺(tái)設(shè)備

idb boot UDID

打開(kāi)謀app

idb launch com.apple.Maps

點(diǎn)擊屏幕

idb ui button tap x y

很多指令可以根據(jù)自己的需要來(lái)配套隨用!

idb_companion

這idb_companion是一個(gè)gRPC在 macOS 上運(yùn)行的 Objective-C++ 服務(wù)器。它與用于自動(dòng)化模擬器和設(shè)備的本機(jī) API 對(duì)話。它鏈接FBSimulatorControl和FBDeviceControl框架,它們是整個(gè)idb項(xiàng)目的一部分。

當(dāng)它idb_companion充當(dāng)gRPC服務(wù)器時(shí),它會(huì)為單個(gè)iOS 目標(biāo)(設(shè)備或模擬器)執(zhí)行此操作。

此外,idb_companion還有一些命令是在 python CLI 中故意不可用的,這些操作與 iOS 設(shè)備管理或模擬器生命周期的操作有關(guān)。


也就是說(shuō)它可以通過(guò)host:port方式遠(yuǎn)程控制設(shè)備!這個(gè)很強(qiáng)大!

idb用途

  • 自動(dòng)化測(cè)試
  • iOS手機(jī)群控
  • 其他我暫時(shí)想不到還可以用來(lái)干嘛…..

個(gè)人感覺(jué)用它來(lái)做自動(dòng)化測(cè)試的話不是很方便、自動(dòng)化測(cè)試?yán)肁ppium的WDA、結(jié)合其封裝的python客戶端可以更高效的編寫(xiě)自動(dòng)化測(cè)試流程、因?yàn)樗峁┓浅6嗟脑夭檎曳绞健ap、swipe、scroll等事件很方便很好用!

**備注:idb ui 指令只能針對(duì)模擬器,真機(jī)由于ios限制是無(wú)法使用的?。?!需要結(jié)合fbsimctl才行
issue上作者有回應(yīng):
https://github.com/facebook/idb/issues/551
https://github.com/facebook/idb/issues/566
**

idb list-targets

//獲取設(shè)備信息
idb describe --udid xxxx

//啟動(dòng)未開(kāi)啟的模擬器(真機(jī)無(wú)效)
Idb boot xxxxxx

idb list-apps --udid xxxxxxxx

idb launch --udid xxxxxxxxx com.apple.Maps 
Idb terminate  --udid xxxxxxxx com.apple.Maps 

idb screenshot --udid xxxxxxx /Users/mac/Desktop/autoTest/aa.png
idb uninstall  --udid xxxxxxxxx  com.monkey.test.SDKTest

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容