小程序接口测试完整流程:
方法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文件导入,模拟真实用户压测实操: