2021-01-26 17:07:15 卢浮宫 版权声明:本文为站长原创文章,转载请写明出处
今天中午发现小程序端有一个属性设值错误问题,到线上查了一下已经有20条问题数据产生了。
于是乎,联系相关业务员修复数据,然后定位问题所在,修复并趁着中午业务员吃饭时间紧急部署上线。
问题修复后我们首先在测试环境做了操作回显,确认整个模块OK后部署线上,
然后使用线上测试账号再走一遍完整流程。
一个获取客户地址数据列表的接口直接请求异常!
由于是一个简单的数据请求接口,所以没有做Sys_log
异常信息也被全局异常处理吞掉了。所以插起来比较费事儿。
① 首先,请求能够接收到回应,所以排除请求不通的推测
② 单元测试,放入我们mock的数据也能正常请求,所以推测后端出现问题的可能性不大
③ 小程序预览,真机调试也没有发现问题,故而推测,目前的小程序代码也问题不大
④ 那为什么联调没问题,到线上就有问题呢?说微信小程序环境问题也是比较滑稽
2.2、问题最终定位
首先前端OK,后端也OK,联调也没问题,但是一放到线上就出问题了。
那么真相只有一个,线上的小程序的整个操作链路和我们线下的测试操作不一致!!!
按照正常的web端调试,我们按出F12查一下就可以直观查到了,但是线上小程序我还不能按F12调出控制台哈
那我们就只能是手机抓包了!!!
之前在做中控考勤机驱动开发的时候也有操作过手机抓包,但是那时候用的是Wireshark来进行网卡抓包的。
那放到移动端我这边就选择使用Fiddler了。
fiddler普遍适用于移动端数据抓包解决方案。关于fiddler的一些信息及下载,
建议参见其官网:https://www.telerik.com/fiddler
这个没什么特别的说明,直接安装就可以了。
PS: 电脑必须和手机在同一个网络环境下!
也就是说电脑要连接和手机相同的WiFi网络,台式机可使用无线网卡!
① 使用ipconfig命令查询到自己的IP。如:192.168.1.123
② 手机浏览器打开地址:电脑的IP地址 + 监听的端口号。
以上述为例,就是:http://192.168.1.123:8888
③ 手机下载并安装证书(注意:每个型号的手机在进行该操作时都不尽相同),如下图:
PS: 在手机中点击连接的网路信息,开启手动代理并做以下配置
② 手机App访问京东APP
上述准备工作已经做好,可以开始操作了!
无法抓取微信小程序的请求!!!
网上查了一下资料发现并不是我这边的问题,猜测是微信的安全机制
或证书验证导致无法被抓取(这个这里暂时不做过多考虑)
虽说此路不通,但是问题终归是要解决的!
查了一些资料最终找到了一个解决方案:在电脑端打开微信小程序就可使用fiddler进行抓包了
是前后端做了接口修改,但是线上没有部署上去导致的。
那知道问题后后续的解决也就简单了很多了,这里就不赘述了!
通过这件事,也暴露了一些问题,比如:
① 没做好版本控制
② 异常处理不够完善
...
这个就放在后续完善之中,到时有必要也会给出分享...
更多精彩请持续关注: guangmuhua.com