移動端真機(jī)調(diào)試

移動端調(diào)試?yán)щy

很多時候述么,我們在進(jìn)行移動端開發(fā)時蝌数,都是先在PC端使用手機(jī)模擬器進(jìn)行調(diào)試,沒有問題后碉输,我們才會在手機(jī)端的瀏覽器進(jìn)行測試,這個時候亭珍,如果沒有出現(xiàn)問題敷钾,皆大歡喜。但是一旦出現(xiàn)問題肄梨,我們就很難解決阻荒,因為缺乏可視化的界面。不似在PC端众羡,我們能直觀的去改變樣式侨赡,或者是進(jìn)行斷點調(diào)試。有時粱侣,在移動端我們不得不借助于alert來調(diào)試羊壹,但是這樣的調(diào)試方法效率極其低下,很多時候齐婴,都是靠經(jīng)驗油猫,或者是靠排除法。甚至柠偶,我們不得不歸結(jié)為是瀏覽器的實現(xiàn)問題情妖。

那么,有什么什么方法诱担,能夠讓我們調(diào)試移動端的適配的時候毡证,像調(diào)試PC端一樣直觀呢?本文旨在為你提供移動端的調(diào)試方法蔫仙,希望能夠為你打開新的一扇門料睛。

本文會給出三種真機(jī)調(diào)試方法,你可以選擇自己最喜歡的一款~

移動端真機(jī)調(diào)試方法

  1. chrome真機(jī)調(diào)試
  2. weinre調(diào)試
  3. spy-debugger調(diào)試

簡單說明一下每一種方式的 優(yōu)缺點

第一種:chrome真機(jī)調(diào)試,有一個很大的局限性就是秦效,只能調(diào)試手機(jī)端的chrome瀏覽器雏蛮,對于UC,QQ這些瀏覽器均不適用阱州,因此在調(diào)試兼容問題時挑秉,幫助不大,但是最大的優(yōu)點是: 簡單快捷苔货。

第二種:weinre調(diào)試方式犀概,安裝和適用不復(fù)雜,適用于全平臺的調(diào)試夜惭,即任何手機(jī)的任何瀏覽器皆可以調(diào)試姻灶,不過需要手機(jī)和電腦在同一個網(wǎng)段下。

第三種:spy-debugger诈茧,安裝稍微復(fù)雜一點产喉,spy-debugger集成了weinre,不過還增加了抓包工具敢会,使用最為方便曾沈。

下面我們開始具體介紹如何使用這三種調(diào)試方法。

1. chrome真機(jī)調(diào)試

手機(jī)端下載好chrome瀏覽器鸥昏,使用USB連接到PC塞俱,打開手機(jī)的USB調(diào)試模式。

然后在PC端打開chrome瀏覽器吏垮,在地址欄輸入:chrome://inspect. 勾選"discovery usb device"障涯。然后在手機(jī)端瀏覽網(wǎng)頁,就可以看到如下的頁面膳汪,點擊inspect唯蝶,進(jìn)行調(diào)試(鑒于我的工作電腦是加了域的,因為并不能使用這個方式遗嗽,如果有和我一樣情況的童鞋生棍,可以考慮使用另外兩種調(diào)試方式)。

chrome真機(jī)調(diào)試

2. wenire真機(jī)調(diào)試

Weinre(WebInspector Remote)是一款基于Web Inspector(Webkit)的遠(yuǎn)程調(diào)試工具媳谁,借助于網(wǎng)絡(luò)涂滴,可以在PC上直接調(diào)試運行在移動設(shè)備上的遠(yuǎn)程頁面。

wenire真機(jī)調(diào)試

本地服務(wù)器:可以使用http-server晴音、tomcat等羹饰,也可以使用編譯器集成的服務(wù)夺姑。

weinre安裝

全局安裝:

npm install –g weinre

局部安裝:

npm install weinre

啟動:

weinre --httpPort 8090 --boundHost -all-

如果是局部安裝的話鳍征,需要在前面加上 node_modules/.bin/狼讨。

相信前端的童鞋都會用npm包管理工具,對于這個工具,我就不展開了郭计,如果沒有安裝npm的霸琴,自行安裝。

weinew啟動參數(shù)說明

  • httpPort:設(shè)置Wninre使用的端口號昭伸,默認(rèn)是8080梧乘。
  • boundHost:[hostname | Ip | -all-]: 默認(rèn)是 ‘localhost’。
  • debug [true | false]:這個選項與–verbose類似庐杨, 會輸出更多的信息选调。默認(rèn)為false。
  • readTimeout [seconds]:Server發(fā)送信息到Target/Client的超時時間灵份, 默認(rèn)為5s仁堪。
  • deathTimeout [seconds]:默認(rèn)為3倍的readTimeout, 如果頁面超過這個時間都沒有任何響應(yīng)填渠, 那么就會斷開連接弦聂。

8080端口使用情況較多,所以我選擇了指定8090端口氛什。

啟動了weinre之后莺葫,我們在瀏覽器中輸入localhost:8090,顯示如下界面屉更,表示已經(jīng)啟動成功徙融。

啟動成功

點擊debug client user interface洒缀,進(jìn)入調(diào)試頁面瑰谜。

調(diào)試頁面

當(dāng)前的targets中內(nèi)容為空。

現(xiàn)在树绩,我們需要做另外一點操作萨脑,在我們要調(diào)試的頁面中,增加一個腳本饺饭。

<script src="http://localhost:8090/target/target-script-min.js#anonymous"></script>

記住將localhost換成你的IP地址.

然后渤早,我們在本地啟動一個服務(wù)器,可以是IDE集成的服務(wù)器瘫俊,或者是http-server,我使用的是http-server.啟動之后鹊杖,我們在手機(jī)端訪問要調(diào)試的網(wǎng)頁。然后就會發(fā)現(xiàn)targets下面增加了記錄扛芽。

這時骂蓖,我們就可以點擊Elements進(jìn)行調(diào)試。

進(jìn)行調(diào)試

修改樣式時川尖,會在手機(jī)端即時生效登下,并且也可以查看控制臺信息,唯一一點就是,不能進(jìn)行斷點調(diào)試被芳。

最后缰贝,在調(diào)試結(jié)束之后,別忘記刪除嵌入的script畔濒。

除了這種方法之后剩晴,還介紹了在手機(jī)端保存一段Js代碼,在需要調(diào)試某個頁面時篓冲,點擊執(zhí)行JS,但是現(xiàn)在瀏覽器為了安全起見李破,已經(jīng)不再支持此方法。默認(rèn)的方法是搜索壹将,而非執(zhí)行嗤攻,所以不可取。

3. spy-debugger真機(jī)調(diào)試

最后诽俯,再介紹一下spy-debugger方法妇菱。用這個方法,我們不再需要自己增加和刪除腳本暴区。

Spy-debugger內(nèi)部集成了weinre闯团,通過代理的方式攔截所有html自動注入weinre所需的js代碼。簡化了weinre需要給每個調(diào)試的頁面添加js代碼仙粱。spy-debugger原理是攔截所有html頁面請求注入weinre所需要的js代碼房交。讓頁面調(diào)試更加方便。

特性:

  1. 頁面調(diào)試+抓包
  2. 操作簡單
  3. 支持HTTPS伐割。
  4. spy-debugger內(nèi)部集成了weinre候味、node-mitmproxy、AnyProxy隔心。
  5. 自動忽略原生App發(fā)起的https請求白群,只攔截webview發(fā)起的https請求。對使用了SSL pinning技術(shù)的原生App不造成任何影響硬霍。
  6. 可以配合其它代理工具一起使用(默認(rèn)使用AnyProxy)

Spydebugger安裝與使用

全局安裝:

npm install –g spy-debugger

啟動:

spy-debugger

設(shè)置手機(jī)的HTTP代理:

  • 代理的地址為PC的IP地址帜慢,代理的端口為spy-debugger的啟動端口(默認(rèn)端口為:9888)默認(rèn)端口是 9888。
  • 如果要指定端口: spy-debugger–p8888唯卖。
  • Android設(shè)置步驟:設(shè)置 - WLAN - 長按選中網(wǎng)絡(luò) - 修改網(wǎng)絡(luò) - 高級 - 代理設(shè)置 - 手動粱玲。
  • iOS設(shè)置代理步驟:設(shè)置 - 無線局域網(wǎng) - 選中網(wǎng)絡(luò) - HTTP代理手動。

手機(jī)安裝證書(node-mitmproxy CA根證書):

第一步:生成證書

生成CA根證書拜轨,根證書生成在 /Users/XXX/node-mitmproxy/ 目錄下(Mac)抽减。

spy-debugger initCA

第二步:安裝證書

把node-mitmproxy文件夾下的 node-mitmproxy.ca.crt 傳到手機(jī)上,點擊安裝即可撩轰。

Spy-debugger啟動界面胯甩,同樣昧廷,在手機(jī)端刷新頁面之后,targets中會有記錄偎箫。

記錄

以我曾經(jīng)做的京豆游戲的頁面展示一下效果木柬,當(dāng)我們在手機(jī)上選中一個元素時,可以在電腦上看到相應(yīng)的信息淹办,這樣我們就可以看出有可能是什么樣式不兼容導(dǎo)致了UI的異常了眉枕,同樣,還可以在控制臺中看到JS的log信息怜森,對于移動端調(diào)試來說非常有幫助速挑。

京豆游戲

總結(jié)

  1. chrome inspect應(yīng)用場景有限。
  2. weinre安裝簡單副硅,使用過程中需要增加和刪除script姥宝,如果調(diào)試頁面很多的情況下,不適用恐疲。
  3. spy-debugger安裝略復(fù)雜腊满,但是使用過程非常愉快。

看完文章培己,還有福利拿哦碳蛋,往下看??????
感興趣的小伙伴可以在公號【grain先森】后臺回復(fù)【190315】獲取【Css 參考規(guī)范】,可以轉(zhuǎn)發(fā)朋友圈和你的朋友分享哦省咨。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肃弟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子零蓉,更是在濱河造成了極大的恐慌笤受,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壁公,死亡現(xiàn)場離奇詭異感论,居然都是意外死亡绅项,警方通過查閱死者的電腦和手機(jī)紊册,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來快耿,“玉大人囊陡,你說我怎么就攤上這事∠坪ィ” “怎么了撞反?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長搪花。 經(jīng)常有香客問我遏片,道長嘹害,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任吮便,我火速辦了婚禮笔呀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘髓需。我一直安慰自己许师,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布僚匆。 她就那樣靜靜地躺著微渠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咧擂。 梳的紋絲不亂的頭發(fā)上逞盆,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機(jī)與錄音松申,去河邊找鬼纳击。 笑死,一個胖子當(dāng)著我的面吹牛攻臀,可吹牛的內(nèi)容都是我干的焕数。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼刨啸,長吁一口氣:“原來是場噩夢啊……” “哼堡赔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起设联,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤善已,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后离例,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體换团,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年宫蛆,在試婚紗的時候發(fā)現(xiàn)自己被綠了艘包。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡耀盗,死狀恐怖想虎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叛拷,我是刑警寧澤舌厨,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站忿薇,受9級特大地震影響裙椭,放射性物質(zhì)發(fā)生泄漏躏哩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一揉燃、第九天 我趴在偏房一處隱蔽的房頂上張望震庭。 院中可真熱鬧,春花似錦你雌、人聲如沸器联。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拨拓。三九已至,卻和暖如春氓栈,著一層夾襖步出監(jiān)牢的瞬間渣磷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工授瘦, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留醋界,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓提完,卻偏偏與公主長得像形纺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子徒欣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容