-
2021-06-07 11:37:01
小程序接口测试完整流程:
方法1:
jmeter无法模拟真实的微信登录状态,所以无法获取code,具体参考微信官方API文档:
小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。
开发者服务器以code换取 用户唯一标识openid 和 会话密钥session_key解决办法:我目前只能绕过微信验证,因为我们应用的session和APP端一致,所以在APP端存储cookie直接在jmeter使用
方法2:
通过抓包多次打开小程序发现登录接口中请求参数
值("code": "061xam5b2hJCfP0BNn1234562xam5e")它是会变的
小程序的的登录接口实际上是调用微信的登录态;
code值是哪方给到我们的?(具体问题具体分析);
因为小程序是通过微信直接跳转进去,所以小程序的登录态实际上是直接获取微信登录状态,因此code是微信传给我方小程序
怎么获取code值?
1、从开发角度讲,直接去调用微信提供的api接口
2、通过微信开发者工具,将code抓取出来,并填写到登录接口中,抓取code值的方法(可与开发沟通)
3、将获取的code的值放入登录请求中,从新发起请求
PS:需要对小程序的功能接口模拟压测场景,可以让开发人员获取用户列表信息,批量获取到小程序用户的token信息导出表格,在jmeter中通过csv文件导入这批token,模拟真实用户场景。
具体CSV文件导入,模拟真实用户压测实操:
更多相关内容 -
微信小程序接口测试工具
2021-03-02 13:45:03微信小程序接口测试工具,适合PHP开发工作人员、方便调试后台的接口,比较适合初级的PHP或者微信小程序开发人员 -
关于微信小程序bug记录与解决方法
2020-12-12 14:00:25微信小程序bug记录 textarea 1.textarea在模拟器上没有padding,可是在真机上会自带padding,而且在外部改不了,并且在安卓和IOS上padding还不一样 第一张图是在开发工具上的,第二张图是在IOS真机上的。从上图... -
微信小程序测试实战(用例,接口测试).txt
2020-04-10 22:07:40这是一套完整的小程序测试课程,从用例编写,功能梳理,业务整理到接口测试的一整套体系结构。课程非常适合测试提高人员,目前在测试小程序人员,提高自己的业务,接口能力,增强个人水平。 -
微信小程序接口测试时appid为空如何解决
2021-10-10 14:36:55appid一般是微信小程序身份认证需要的,所以在接口测试的时候可以询问一下开发,他们都会知道appid是什么。我们只需要模拟好为手机请求,appid和其他参数填写无误就可以正常的进行微信小程序的接口测试了。一、web接口测试和app/微信小程序接口测试的区别
web接口一般是通过浏览器访问,app接口是通过手机端访问的,所以他们header头部请求是不一样的,一样的就是User Agent这个参数。
web请求的header请求中的User Agent以谷歌为例:
MAC:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 Windows:Mozilla/5.0 (Windows; U;
Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13
app请求的header请求中的User Agent:
Android:Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) Chrome/57.0.2987.132 Mobile Safari/537.36
ios:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36
二、如何进行app接口测试
上面说了app和web的header请求是有区别的所以我们在进行app接口测试的时候填写User Agent这个参数。这里的两个选项分别代表苹果和安卓。
模拟一下手机访问百度的请求。
三、微信小程序接口测试的时候参数里面没有appid,为什么请求的时候需要appid,appid是什么?
appid是微信或支付宝应用自带的参数,好比小程序的身份证号码,ID号,方便识别身份。
我这里微信接口测试的时候就遇到appid为空的情况
然后这款小程序appid请求是放在header里面的,填写之后就不为空了。
后面就是token的问题了。总结一下
appid一般是微信小程序身份认证需要的,所以在接口测试的时候可以询问一下开发,他们都会知道appid是什么。我们只需要模拟好为手机请求,appid和其他参数填写无误就可以正常的进行微信小程序的接口测试了。
如果文章对你有帮助的,请帮我点赞收藏,这样我才有动力继续更新下去!也欢迎加入我的软件测试交流群:785128166,里面不定时分享测试资源,还有同行大佬一起交流学习!
最后我也整理了一些软件测试学习资料,对于学软件测试的小伙伴来说应该会很有帮助,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这份资料也已经帮助了很多的软件测试的学习者,希望也能帮助到你。需要的小伙伴可以关注我微信公众号:程序员二黑,免费获取!
-
【接口测试】微信小程序接口自动化的实现方案
2021-03-17 14:36:56【接口测试】微信小程序接口自动化的实现方案背景
前几天看到有人问微信小程序怎么进行接口自动化,所以想把自己如何进行微信小程序接口自动化的方法分享下。
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html这是微信小程序的登陆流程,小程序登陆需要在小程序内部调用 wx.login() 的方法拿到 code,然后去请求服务获取到 token,后续的接口才能请求。所以接口自动化的问题在于如何获取 code 去进行去获取 token。
环境准备
- 一台 windows 或者 mac 电脑
- 微信开发者工具
- 一个微信号以及小程序开发者权限
- 小程序的代码
原理
Python 使用minium,JS 使用miniprogram-automator,这是微信官方提供的 UI 自动化测试的工具,它们的原理都是调起微信开发者工具,然后会对外提供了一个自动化测试的端口,然后它们的 API 应该都是和这个端口进行通信。
我是用的 miniprogram-automator,以下都是以 miniprogram-automator 进行说明,然后就可以使用 miniProgram.callWxMethod 的方法调用 wx.login() 这个方法获取到 code,这就是获取 code 的方法
实现
我是写了一个服务,对外暴露了一个接口,http://127.0.0.1:3000/wxlogin?appid=xxxxxxxxxxxx, 该接口需要传一个参数是小程序的 appid,然后有一个 config.js 去配置 appid 和小程序的绝对项目路径(注意:一个小程序获取的 code 是无法在另一个小程序去进行登陆的,code 应该是和 appid 是有关联的)
通过该 appid 找到小程序项目路径,调用 automator.launch() 方法,启动微信开发者工具,然后调用 miniProgram.callWxMethod() 去调用 wx.login() 这个方法获取到 code,最后把 code 从我提供的接口返回
每个小程序要请求任意接口时候都需要先调用我提供的接口获取 code 登陆后再进行后续的请求操作注意点
不要并发请求自己提供的接口!不要并发请求自己提供的接口!不要并发请求自己提供的接口!因为这个方案是需要调起微信开发者工具,所以如果并发调起的话,会把微信开发者工具搞奔溃,我一开始就是 10 多个小程序同时调用自己的接口,然后把微信开发者工具弄崩了,所以关于微信小程序的接口用例我都是串行请求的
http://127.0.0.1:3000/wxlogin?appid=xxxxxxxxxxxx 这个接口因为需要调用微信开发者工具,然后再获取 code,所以响应速度会比较慢
微信开发者工具需要提前登陆
无法在 linux 部署,因为微信开发者工具没有 linux 版本
总结
如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们
,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!该方法已经在公司落地,并且已实现了 10 多个微信小程序的生产巡检工作。维护工作就是需要注意微信开发者工具的账号需要保持登陆,如果自动退出了,就扫码登陆下就可以。
-
在微信小程序中调用本地接口
2021-03-29 20:38:44由于现在网上已经有很多的《微信小程序从精通到入门》的教程了,所以就不再重复那些,只是讲一下,在开发的过程中,如何使用本地(开发环境)的接口。 因为小程序的开发文档中写到了,wx.request中的URL只能是一个... -
微信小程序如何封装api接口
2021-01-03 13:51:36微信小程序如何封装api接口 首先创建个http文件夹(可自定义名字) 一:创建个env.js文件用来设置公共访问的url,即环境地址 module.exports = { //开发环境 dev:{baseUrl:http://localhost:3000}, //测试环境 ... -
【案例】用Jmeter做微信小程序项目接口测试
2020-04-30 08:58:52公司新项目组开发一款微信小程序电商平台,为了更好保证产品质量,因此提出了需要进行接口测试。 从接口本身来讲,对其测试与其他项目应该是一样的。所以不难理解,我们要对小程序的接口测试需要准备的 材料有: ...公司新项目组开发一款微信小程序电商平台,为了更好保证产品质量,因此提出了需要进行接口测试。
从接口本身来讲,对其测试与其他项目应该是一样的。所以不难理解,我们要对小程序的接口测试需要准备的
材料有:
1、完备的接口文档(什么是完备的接口文档,之前文章有写到,这里不再缀叙)
2、测试工具的选型(Jmeter/postman/或者直接撸代码?),在这里我对jmeter进行讲解
3、抓包工具,更好的分析数据的扭转
OK,准备工作已完成,现在我们对小程序进行抓包
一、打开小程序,并抓出登录接口如下图所示:
图(一)为接口调用服务器和调用地址
图(二)为接口请求参数和接口返回值
二、根据一抓出的参数将接口配置于jmeter中,如下图所示:
2.1、jmeter请求配置,如下图
说明:配置OK后,欣喜若狂,欢天喜地,以为万事大吉
2.2、执行脚本查看返回结果,如下图所示:
MMP啊,一般登录接口不是放入请求参数后便能成功登录了吗?在这里通过抓包多次打开小程序发现登录接口中请求参数
值("code": "061xam5b2hJCfP0BNn5b2fL15b2xam5e")他她它是会变的,当然这也没毛病。
三、分析并获取code值
3.1、根据2.2中的报错信息我们可以得知,小程序的的登录接口实际上是调用微信的登录态
3.2、code值是哪方给到我们的?(具体问题具体分析)
解析:因为小程序是通过微信直接跳转进去,所以小程序的登录态实际上是直接获取微信登录状态,因此code是微信
传给我方小程序
3.3、怎么获取code值?
3.3.1、从开发角度讲,直接去调用微信提供的api接口(这里不讲解)
3.3.2、通过微信开发者工具,将code抓取出来,并填写到登录接口中,抓取code值的方法(可与开发沟通),我的
方法如下图所示:
四、将获取的code的值放入登录请求中,从新发起请求,如下图所示:
ps:小程序的登录接口测试已掉通,可以开心进行后面的一些操作了
变化往往都是来的悄无声息,成长不是一蹴而就
-
微信小程序测试工具
2018-11-12 15:40:17这个微信小程序测试工具,包含微信支付测试,token验证等,非常好用 -
小程序源码:全新趣味测试微信小程序源码修复接口之前超火的一款小程序
2022-06-13 21:33:00可惜前两个月那款小程序的接口挂了以后从此趣味测试基本就消失了 不过没关系,今天小编就给大家带来一款全新的趣味测试 该版本,内涵多种丰富的测试内容,比较热门的都要 比如什么星座呀,爱情呀,事业呀等等,这个小编... -
postman测试微信小程序接口
2019-08-26 18:17:441. 打开微信开发者工具, 输入网址, 点击 'network', 选择测试接口,复制接口url到postman 2.打开微信开发者工具, 复制Authorization信息: 3. 微信开发者工具点击'application', 选择'cookie', 复制信息到... -
微信小程序通过api接口将json数据展现到小程序示例
2020-10-20 14:09:25主要介绍了微信小程序通过api接口将json数据展现到小程序示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
微信小程序 wx.request(接口调用方式)详解及实例
2020-09-01 03:39:59主要介绍了微信小程序 wx.request(接口调用方式)详解及实例的相关资料,wx.request请求方式比较简单,但是在使用的时候出现错,这里就记录下,需要的朋友可以参考下 -
微信小程序-微信小程序-豆瓣电影
2019-08-06 05:25:56微信小程序-豆瓣电影-测试案例 1、app.js 封装请求方式函数 fetchApi 2、app.json 配置文件(配置页面样式、多少页面、菜单按钮) 3、app.wxss 全局样式文件(定义页面的全局样式) 4、效果图 5、填入appid后保错... -
微信小程序网络请求request局域网下的开发测试
2021-03-29 16:59:24关于网络请求微信小程序官方文档已经讲解的很清楚了,有一点官网没有提到的,就是局域网下开发测试时,要注意两点: 这两种情况都不需要在“微信公众平台-开发设置-服务器域名”配置,因为下面这两种URL是不合法的。... -
微信测试号接口配置
2020-12-22 14:25:56在微信小程序或者微信公众号开发的时候,这个接口配置永远的是微信后台开发的第一步。 1、用你自己的微信公众号或者使用微信测试号,这里我用的是微信测试号,进去后扫描登录即可,测试号拥有正常公众号的大部分功能... -
微信小程序测试号获取
2022-01-14 16:18:27https://developers.weixin.qq.com/sandbox -
微信小程序访问webService(Java)
2021-03-29 18:10:34文章作者:洛山红茶的BLOG ... 在前台UI确认后,终于进入到后台服务的搭建...以上内容均已通过,就在最后通过微信小程序wx.request调用WebService接口时,问题出现了。标准的java WebService返回的为xml形式的soap描述 -
python+requests对app和微信小程序进行接口测试
2021-02-05 14:21:31对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同。不同的地方在于header中的User-Agent参数。web常用的User-Agent参数:Chrome:... -
Jmeter微信小程序接口测试
2018-11-01 15:29:00最近公司新项目组开发一款微信小程序电商平台,为了更好保证产品质量,因此提出了需要进行接口测试。 从接口本身来讲,对其测试与其他项目应该是一样的。所以不难理解,我们要对小程序的接口测试需要准备的 材料有... -
Jmeter压力测试-微信小程序
2022-04-24 14:49:43Jmeter压力测试-微信小程序 1.准备工作 1.完善的接口文档 2.测试工具的选择(Jmeter/postman),我这里选的是Jmeter 3.抓包工具,更好的分析数据的扭转 2.抓包工具 1、打开微信小程序,抓包工具抓出地址和登录接口,... -
微信小程序如何测试?
2022-03-07 10:02:22那我们该如何进行微信小程序测试呢? 1、功能测试 功能测试以需求文档和交互视觉文档为准,如果没有这些文档,参考APP的测试方法,也就是说就把它当做手机的APP来测试即可。 2、兼容性测试 01、操作系统的... -
如何解决微信小程序接口测试时appid为空?
2020-11-04 11:25:09一、web接口测试和app/微信小程序接口测试的区别 web接口一般是通过浏览器访问,app接口是通过手机端访问的,所以他们header头部请求是不一样的,一样的就是User Agent这个参数。 web请求的header请求中的User ... -
微信小程序学习用demo:tabbar设计与接口测试;使用cnodeapi
2022-05-04 18:16:18微信小程序学习用demo:tabbar设计与接口测试;使用cnodeapi -
2020新课-微信小程序接口开发实战、坑的解决
2021-06-18 07:44:01【课程说明】00-微信小程序接口开发课程说明01-搭建课程学习的小程序【变量和接口】02-基础用法-变量的定义和使用03-接口用法-服务端环境的介绍04-接口用法-服务器端数据调用和常见坑讲解(HTML页面接口数据)05-接口... -
微信小程序request请求后台接口php的实例详解
2020-08-29 08:29:13主要介绍了微信小程序request请求后台接口php的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下