背景描述

相信有模拟微信页面请求的测试都有看到过这个页面,简单点说就是爬虫爬微信页面,进行回放的时候会出现这个页面。大概在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、自动化测试过程中如果碰见了技术瓶颈,不妨多和研发沟通,他们总能给你一些指导。

h5页面 请在微信客户端打开链接_模拟微信接口时,提示“请在微信客户端打开链接”(转)...相关推荐

  1. php怎么关联默认打开程序,win10系统打开文件时提示“请在默认程序控制面板中创建关联”如何解决...

    近日有win10系统用户反映说在打开文件的时候,突然遇到了"请在默认程序控制面板中创建关联"的提示,导致无法打开文件,这该怎么办呢,本教程就给大家带来win10系统打开文件时提示& ...

  2. Android studio2.3小米8.5.1不能安装应用,没有MIUI优化,打开USB安装时提示“请插入SIM卡”,安装时手机没有任何反应,studio报Installation failed w

    今天升级了MIUI后,Android studio2.3小米8.5.1不能安装应用,手机红米2a,没有MIUI优化,打开USB安装时提示"请插入SIM卡",安装时手机没有任何反应, ...

  3. word文档中找不到服务器,【在WORD文件中插入excel表格,编辑保存后重新打开word文件并双击excel时提示“找不到服务器应用程序、源文件】excel整个表格不见了...

    为什么PPT插入EXCEL表格时显示无法找到服务器应用程序 这是由于excel或者ppt只能兼容.低版本的ppt和excel是无法打版本excel插入的表格的. 解决如下: 1.新建一个文本,将后缀名 ...

  4. 计算机卸载一个程序正确操作,电脑卸载程序时提示请等待当前程序完成卸载或更改怎么办...

    摘要 腾兴网为您分享:电脑卸载程序时提示请等待当前程序完成卸载或更改怎么办,中国体育,政务易,粤听,游戏堂等软件知识,以及输入法2012,人人代拍,长截屏软件,1322游戏盒,庆国庆迎中秋手抄报,远征 ...

  5. Android使用WebView加载Url时提示“请在微信客户端打开链接”

    前言 最近在使用webView加载一个url时 提示弹出这样的图片 解决方法 在设置webView属性的时候 修改ua参数 我们通过这个链接拿到自己的ua参数 点击获取自己的UA参数 如图所示 我用的 ...

  6. android 加载h5页面部分机型滑动卡顿回弹_网易爆款H5 的交互方法参考

    在早些年,H5其实更像是手机上的PPT,只支持点击.滑动这些基础手势操作.以内容展示为主,交互形式为辅. 但到了今天,H5的玩法已经有了质的突破.不仅交互形式超多,形式与内容也能紧密结合,产生1+1大 ...

  7. h5页面笔按下默认是拖动_屡屡刷屏的长页面H5原来是这样诞生的

    昨天整理资料的时候,突然翻到了很早之前做的一个H5.看着那久远的日期,我不禁沉醉在假想的美好回忆中并沾沾自喜.然而,当我打开这个作品的时候--这是什么东西?!这是想气死谁?!不说那五颜六色的标题.时大 ...

  8. h5页面套壳在苹果手机上卡_手机壳,保护套,皮肤和保护套有什么区别?

    h5页面套壳在苹果手机上卡 Kidsada Manchinda/Shutterstock Kidsada Manchinda /快门 Everyone has a mobile phone, but ...

  9. FCKeditor 上传图片和浏览服务器时提示请先登陆的解决办法

    在一个网站中用到这个编辑器,可老是在上传或是浏览服务器目录的时候出现提示"请先登陆.",试过了好多版本都是这样,甚至是直接把别人的项目中的拿过来用也不行,在网上查了一天也没有找到解 ...

  10. sql server登陆失败连接失败_管家婆软件登录时提示“连接失败,请输入正确的服务器名”解决方法...

    一.常规检查 当软件出现无法登录软件问题时,请先检查电脑的右下角任务栏位置管家婆所需的3个 服务器是否均已运行,如果是网络版请先到服务器端去确认.  管家婆服务器,如图  管家婆套接字服务器(辉煌 ...

最新文章

  1. PHP中session_register函数详解用法
  2. 全国知名高校网站挂马现象严重 考生面临安全风险
  3. 如何使用视频转换器将flv格式文件转换为MP4格式
  4. 常用数据库的分页实现
  5. PPTV Docker集群的网络方案选型
  6. 测试是浪费时间,我的程序肯定没问题
  7. 上位机和下位机之间局域网的搭建
  8. 开机启动时间计算机,Windows系统更改开机启动时间三种方法
  9. 秋天远程控制V1.0源码(易语言)
  10. 【BIM入门实战】Revit创建地形的几种方法及优缺点
  11. twitter加载很慢_我很高兴加入Twitter的6个理由
  12. 每天学点统计学——频率和累计频数
  13. 恢复账套提示文件上的媒体簇结构不正确_用友U8软件用友固定资产(账套数据结构不正确)...
  14. 2022.1.20-笔记-JSON格式转换(JSON类型str->int\double\string)
  15. el-table fixed多级表头固定列问题
  16. c语言程序设计自学教程,c语言程序设计自学教程
  17. MacClean360 for mac(系统清理软件)
  18. 北京工业大学 C语言课设
  19. mac linux自动补全,MacOS 上使用docker命令补全功能
  20. java客户端mac地址_Java 获取客户端mac地址

热门文章

  1. Pr 入门教程如何修改过渡效果设置?
  2. 一款PHP版三合一收款码_附50多款模板源码
  3. 杰理之AUDIO_DAC【篇】
  4. markdown段落首行缩进2个字符
  5. 802.11a/b/g/n/ac速率表--防迷路,通过博客收藏
  6. 洛谷p5369[PKUSC2018]最大前缀和
  7. 写JAVA的,码农,程序员,工程师有啥不同
  8. 5G网络演进行业及市场发展需求
  9. 非结构化数据解决方案:优化、优化、优化
  10. 注册google账号,当前时间方法仍可用