做网站ftp,嵌入式软件开发有哪些,甘肃网站建设方案服务至上,肇庆建设网站完美解决 请在微信客户端打开链接背景描述相信有模拟微信页面请求的测试都有看到过这个页面#xff0c;简单点说就是爬虫爬微信页面#xff0c;进行回放的时候会出现这个页面。大概在1年前#xff0c;专门安排了一个人去解决这个技术问题#xff0c;遗憾的是当时没有找到解…完美解决 请在微信客户端打开链接背景描述相信有模拟微信页面请求的测试都有看到过这个页面简单点说就是爬虫爬微信页面进行回放的时候会出现这个页面。大概在1年前专门安排了一个人去解决这个技术问题遗憾的是当时没有找到解决方案接下来所有微信端的接口测试和性能测试都无法进行今天和大家分享下我们的解决方案希望大家可以绕过微信的坑。业务场景我这里以JMeter来举例我们可以通过在JMeter上开启代理手机上设置代理来录制微信端的请求以下为在微信端的业务对应生成的脚本录制完成后我们进行回放你会发现在查看结果树中会重定向到微信授权接着就开始提示请在微信客户端打开链接。这里补充几个录制的小技巧1、每个组放入一个新的控制器在手机端上做的一次操作所产生的请求会被放在一个控制器中非常方便2、选中记录HTTP信息头、添加断言、Regex matching 自动添加信息头和断言问题分析这里我们看一下请在微信客户端打开链接页面对应的代码var ua navigator.userAgent.toLowerCase();var isWeixin ua.indexOf(micromessenger) ! -1;var isAndroid ua.indexOf(android) ! -1;var isIos (ua.indexOf(iphone) ! -1) || (ua.indexOf(ipad) ! -1);if (!isWeixin) {document.head.innerHTML 抱歉出错了;document.body.innerHTML 请在微信客户端打开链接;}重点看var ua navigator.userAgent.toLowerCase();var isWeixin ua.indexOf(micromessenger) ! -1;说明微信的这个提示是通过判断userAgent中是否包含micromessenger确认是否从微信中打开。好了我们查看以下HTTP头中的userAgent录制的时候自动添加了录制HTTP请求头的那么为什么在JMeter打开会仍然会提示呢这里怀疑是微信故意留的坑或者是微信开发这个页面的人英语四级没过。解决方案经过和我们程序猿哥哥陈丹明和陈建清一番讨论一开始没有解决方案此时丹明怀疑MicroMessenger这个单词写错了应该是micromessage一试果然好吧程序猿你赢了看来懂英语是多么的重要。最终解决在HTTP请求头里面将MicroMessenger修改成 micromessage。小结1、请在微信客户端打开链接 这个问题困扰了我们很久今天总算解决完美解决2、感谢程序猿的大胆怀疑给他们点赞3、自动化测试过程中如果碰见了技术瓶颈不妨多和研发沟通他们总能给你一些指导。