9102了,你还不会挪动端真机调试?

挪动端调试难题

许多时刻,我们在举行挪动端开辟时,都是先在PC端运用手机模拟器举行调试,没有题目后,我们才会在手机端的浏览器举行测试,这个时刻,假如没有出现题目,大快人心。然则一旦出现题目,我们就很难处理,由于缺少可视化的界面。不似在PC端,我们能直观的去转变款式,或者是举行断点调试。偶然,在挪动端我们不能不借助于alert来调试,然则如许的调试要领效力极为低下,许多时刻,都是靠履历,或者是靠排除法。以至,我们不能不归结为是浏览器的完成题目。

那末,有什么什么要领,能够让我们调试挪动端的适配的时刻,像调试PC端一样直观呢?本文旨在为你供应挪动端的调试要领,希望能够为你翻开新的一扇门。

本文会给出三种真机调试要领,你能够挑选本身最喜欢的一款~

挪动端真机调试要领

  1. chrome真机调试
  2. weinre调试
  3. spy-debugger调试

简朴申明一下每一种体式格局的优缺点:

第一种: chrome真机调试,有一个很大的局限性就是,只能调试手机端的chrome浏览器,关于UC,QQ这些浏览器均不实用,因此在调试兼容题目时,协助不大,然则最大的长处是: 简朴快速。

第二种: weinre调试体式格局,装置和实用不庞杂,实用于全平台的调试,即任何手机的任何浏览器皆能够调试,不过须要手机和电脑在同一个网段下。

第三种:spy-debugger,装置轻微庞杂一点,spy-debugger集成了weinre,不过还增添了抓包东西,运用最为轻易。

下面我们最先详细引见怎样运用这三种调试要领:

1.chrome真机调试

手机端下载好chrome浏览器,运用USB衔接到PC,翻开手机的USB调试形式。
然后在PC端翻开chrome浏览器,在地点栏输入: chrome://inspect. 勾选”discovery usb device”。然后在手机端浏览网页,就能够看到以下的页面,点击inspect,举行调试。(鉴于我的事情电脑是加了域的,由于并不能运用这个体式格局,假如有和我一样状况的童鞋,能够斟酌运用别的两种调试体式格局)

《9102了,你还不会挪动端真机调试?》

2.weinre真机调试

Weinre(WebInspector Remote)是一款基于Web Inspector(Webkit)的长途调试东西,借助于收集,能够在PC上直接调试运行在挪动装备上的长途页面。

《9102了,你还不会挪动端真机调试?》

当地效劳器: 能够运用http-server、tomcat等,也能够运用编译器集成的效劳

weinre装置

全局装置: npm install –g weinre

部分装置: npm install weinre

启动: weinre –httpPort 8090 –boundHost -all-

假如是部分装置的话,须要在前面加上 node_modules/.bin/

置信前端的童鞋都会用npm包管理东西,关于这个东西,我就不展开了,假如没有装置npm的,自行装置。

weinre启动参数申明:

  • httpPort: 设置Wninre运用的端口号,默许是8080
  • boundHost: [hostname | Ip | -all-]: 默许是 ‘localhost’.
  • debug [true | false] : 这个选项与–verbose相似, 会输出更多的信息。默许为false。
  • readTimeout [seconds] : Server发送信息到Target/Client的超时时候, 默许为5s。
  • deathTimeout [seconds] : 默许为3倍的readTimeout, 假如页面凌驾这个时候都没有任何响应, 那末就会断开衔接。

8080端口运用状况较多,所以我挑选了指定8090端口。

启动了weinre以后,我们在浏览器中输入localhost:8090.显现以下界面,示意已启动胜利。

《9102了,你还不会挪动端真机调试?》

点击debug client user interface,进入调试页面。

《9102了,你还不会挪动端真机调试?》

当前的targets中内容为空。

如今,我们须要做别的一点操纵,在我们要调试的页面中,增添一个剧本。

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

记着将localhost换成你的IP地点.

然后,我们在当地启动一个效劳器,能够是IDE集成的效劳器,或者是http-server,我运用的是http-server.启动以后,我们在手机端接见要调试的网页。然后就会发明targets下面增添了纪录。

这时候,我们就能够点击Elements举行调试。

《9102了,你还不会挪动端真机调试?》

修正款式时,会在手机端立即见效,而且也能够检察掌握台信息,唯一一点就是,不能举行断点调试。

末了,在调试完毕以后,别忘记删除嵌入的script。

除了这类要领以后,还引见了在手机端保留一段Js代码,在须要调试某个页面时,点击实行JS,然则如今浏览器为了平安起见,已不再支撑此要领。默许的要领是搜刮,而非实行,所以不可取。

3.spy-debugger真机调试

末了,再引见一下spy-debugger要领。用这个要领,我们不再须要本身增添和删除剧本。

Spy-debugger内部集成了weinre,经由历程代办的体式格局阻拦一切html自动注入weinre所需的js代码。简化了weinre须要给每一个调试的页面增加js代码。spy-debugger道理是阻拦一切html页面要求注入weinre所须要的js代码。让页面调试越发轻易。

特征:

  1. 页面调试+抓包
  2. 操纵简朴
  3. 支撑HTTPS。
  4. spy-debugger内部集成了weinre、node-mitmproxy、AnyProxy。
  5. 自动疏忽原生App提议的https要求,只阻拦webview提议的https要求。对运用了SSL pinning手艺的原生App不形成任何影响。
  6. 能够合营别的代办东西一同运用(默许运用AnyProxy)

Spydebugger装置与运用

  1. 装置: 全局装置 npm install –g spy-debugger
  2. 启动: spy-debugger
  3. 设置手机的HTTP代办

    代办的地点为 PC的IP地点 ,代办的端口为spy-debugger的启动端口(默许端口为:9888)默许端口是 9888。

    假如要指定端口: spy-debugger –p 8888

    Android设置步骤:设置 – WLAN – 长按选中收集 – 修正收集 – 高等 – 代办设置 – 手动

    iOS设置代办步骤:设置 – 无线局域网 – 选中收集 – HTTP代办手动

  4. 手机装置证书(node-mitmproxy CA根证书)

    第一步:天生证书:

    天生CA根证书,根证书天生在 /Users/XXX/node-mitmproxy/ 目录下(Mac)。

    spy-debugger initCA

    第二步:装置证书:

    把node-mitmproxy文件夹下的 node-mitmproxy.ca.crt 传到手机上,点击装置即可。

    Spy-debugger启动界面,一样,在手机端革新页面以后,targets中会有纪录

《9102了,你还不会挪动端真机调试?》

以我曾做的京豆游戏的页面展现一下结果,当我们在手机上选中一个元素时,能够在电脑上看到响应的信息,如许我们就能够看出有能够是什么款式不兼容致使了UI的异常了,一样,还能够在掌握台中看到JS的log信息,关于挪动端调试来讲异常有协助。

《9102了,你还不会挪动端真机调试?》
]

总结:

  1. chrome inspect运用场景有限
  2. weinre装置简朴,运用历程中须要增添和删除script,假如调试页面许多的状况下,不实用。
  3. spy-debugger装置略庞杂,然则运用历程异常兴奋。

《9102了,你还不会挪动端真机调试?》

谢谢您消费珍贵的时候浏览本文,假如本文给了您一点协助或者是启示,那末不要悭吝你的赞和Star哈,您的肯定是我行进的最大动力。https://github.com/YvetteLau/…

关注小姐姐的民众号,和小姐姐一同学前端。

《9102了,你还不会挪动端真机调试?》

    原文作者:刘小夕
    原文地址: https://segmentfault.com/a/1190000018613578
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞