文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

H5 移动端调试全攻略

2024-12-03 03:44

关注

简短的概括:

移动端调试痛点(项目常用)

在移动端开发时,都是先在PC端使用手机模拟器进行调试,没有问题后,我们才会在手机端的浏览器进行测试。这个时候,一旦出现问题,我们就很难解决,因为缺乏可视化的界面。很多时候,都是靠经验,或者是靠排除法。甚至,我们不得不归结为是浏览器的实现问题。

移动开发的重中之重就是掌握调试技巧,修 Bug 于无形。

一、谷歌浏览器手机模式 - 大众调试

谷歌浏览器是我们前端开发中必不可少的利器。调样式、打断点、看网络请求、看性能等,基本上你能想到的,谷歌都能满足你。

在移动端调试方面也是一样,我们可以利用谷歌浏览器的手机模式,如下图, 点击这个右侧红框手机按钮,便可以切换为手机模式,同时我们还可以在左侧红框内点击下拉箭头,选择不同的手机模式,还可选择responsive模式自定义宽高。

与此同时我们还可以自定义设备,修改浏览器的ua,用来调试哪些只允许微信访问的页面,如下图:

通过谷歌浏览器,就可以满足我们大部分需求,但是实际开发中,由于各种机型的问题,真机调试也成为了前端的必修课。

*特点:大众调试工具,但是不能模拟真机问题。

二、Mac+IOS+Safari- 进阶调试

如果手上有一台 Mac 电脑和一部苹果手机,离解决 bug 只差这操作了。

1、浏览器设置:Safari - 偏好设置 - 高级 - 勾选「在菜单栏中显示开发」菜单。

2、iphone 设置:设置 - Safari - 高级 - 打开 Web 检查器。

3、通过手机的 Safari 来打开 H5 页面,我们通过浏览器开发选项可以看到:

4、通过这种方式成功解决问题。

*特点:不能调试webView里面的页面。

三、Chrome+Android- 进阶调试

1、打开 Android 手机 设置 > 开发者选项 > USB调试。

2、通过数据线连接你的电脑和 Android 手机,会弹出如下界面,点击 确定。

3、Chrome 中输入:chrome://inspect,进入调试页面。

4、可以见到是这样的调试界面

*特点:控制台能正常看页面。

四、spy-debugger- 进阶调试

spy-debugger:移动端调试的利器,便捷的远程调试手机页面、抓包工具。

spy-debugger是一站式页面调试、抓包工具。远程调试任何手机浏览器页面,任何手机移动端webview(如:微信,HybridApp等)。支持HTTP/HTTPS,无需USB连接设备。spy-debugger的特性包括:

页面调试+抓包

操作简单,无需USB连接设备

支持HTTPS

spy-debugger内部集成了weinre、node-mitmproxy、AnyProxy

自动忽略原生App发起的https请求,只拦截webview发起的https请求,对使用了SSL pinning技术的原生App不造成任何影响。

可以配合其它代理工具一起使用(默认使用AnyProxy) (设置外部代理)

调试方法(重要)

安装spy-debugger

sudo npm install spy-debugger -g

手机和PC保持在同一网络下

手机开启网络代理,ip为pc的ip,端口号默认为98884、https页面需手机安装证书5、命令行输入

spy-debugger

此时,界面如下:

此时我们便可以在elements,resources,console等进行我们的调试了。同时我们还可以运用spy-debugger自带的anyproxy进行抓包,如下图:

五、charles 抓包工具- 进阶调试

1、Charles是什么

Charles中文名叫青花瓷,它是一个HTTP代理服务器,HTTP监视器,反转代理服务器。通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。Charles是一款基于java开发的跨平台抓包软件,可在Mac、Linux、Windows下使用,可以抓取电脑和手机上的http、https请求,是前端开发的一个利器。

特点:跨平台,半免费。

2、Charles工作原理

Charles 安装与配置

1、Charles的安装

Charles官网:https://www.charlesproxy.com

页面详解

Charles代理设置

Charles访问控制

客户端-MacOS快捷代理设置

应用场景

当MacOS客户端与运行Charles软件工具的电脑是同一台电脑时,可以通过快捷代理设置方式来进行设置。

操作步骤:打开Charles工具后,选择“Proxy” 菜单中的"macOS Proxy"选项。

客户端-IOS手机代理设置

1)在IOS手机中选择“设置” - “无线局域网”

2)点击已连接的无线网络名称

3)在HTTP代理的配置代理中选择“手动”

4)输入服务器IP地址及端点,点击“存储”

如图:

六、调试工具- 场景分析

既然移动端调试有这么多种方案,那在实际操作中,我们该如何取舍?

场景分析

1、Safari:iPhone 调试利器,查错改样式首选;

2、iOS 模拟器:不需要真机,适合调试 Webview 和 H5 有频繁交互的功能页面;

3、Charles:Mac OS 系统首选的抓包工具,适合查看、控制网络请求,分析数据情况;

4、Fiddler:适合 Windows 平台,与 Charles 类似,查看、控制网络请求,分析数据情况;

5、Spy-Debugger:移动端调试的利器,便捷的远程调试手机页面、抓包工具;

6、Whistle:基于 Node 实现的跨平台 Web 调试代理工具;

7、Chrome Remote Devices:依赖 Chrome 来进行远程调试,适合安卓手机远程调试静态页;

8、localhost 转 ip:真机调试,适合远程调试静态页面;

9、vConsole:内置于项目,打印移动端日志,查看网络请求以及查看 Cookie 和 Storage;

总结:

工欲善其事必先利其器,没有好的调试工具或方法,移动端真机下的 debug 简直是前端的噩梦。但是有了这些好用的方法,各位优秀的前端大佬,修复个小 bug 还是 so easy 的。

 

来源:前端学苑内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯