相信有模拟微信页面请求的测试都有看到过这个页面简单点说就是爬虫爬微信页面,进行回放的时候会出现这个页面大概在1年前,专门安排了一个人去解决這个技术问题遗憾的是当时没有找到解决方案,接下来所有微信端的接口测试和性能测试都无法进行今天和大家分享下我们的解决方案,希望大家可以绕过微信的坑
我这里以JMeter来举例,我们可以通过在JMeter上开启代理手机上设置代理来录制微信端的请求,以下为茬微信端的业务对应生成的脚本:
录制完成后我们进行回放,你会发现在查看结果树
中会重定向到微信授权,接着就开始提示:请在微信客户端打开链接
这里补充几个录制的小技巧
1、每个组放入一个新的控制器:在手机端上做的一次操作所產生的请求会被放在一个控制器中,非常方便;
2、选中记录HTTP信息头、添加断言、Regex matching :自动添加信息头和断言;
这里我们看一下请在微信客户端打开链接
页面对应的代码:
说明微信的这个提示是通过判断userAgent中是否包含micromessenger
确认是否从微信中打开
录制的时候自动添加了录制HTTP请求头的,那么为什么在JMeter打开会仍然会提示呢这里怀疑是微信故意留的坑或者是微信开发这个页面的人英语四级没过。
经过和我們程序猿哥哥陈丹明
和陈建清
一番讨论一开始没有解决方案;此时丹明
怀疑MicroMessenger这个单词写错了,应该是:micromessage!一试果然!
好吧,程序猿
你贏了看来懂英语是多么的重要。
1、请在微信客户端打开链接 这个问题困扰了我们很久今天总算解决,完美解决;
2、感谢程序猿的大胆怀疑给他们点赞;
3、自动化测试过程中如果碰见了技术瓶颈,不妨多和研发沟通他们总能给你一些指导。
1、单纯的访问頁面则修改成:micromessage就好;
2、在访问页面之前需要进行授权登录,则需要和开发沟通下具体的业务逻辑