Jmeter微信小程序接口测试
最近公司新项目组开发一款微信小程序电商平台,为了更好保证产品质量,因此提出了需要进行接口测试。
从接口本身来讲,对其测试与其他项目应该是一样的。所以不难理解,我们要对小程序的接口测试需要准备的
材料有:
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:小程序的登录接口测试已掉通,可以开心进行后面的一些操作了
欢迎大家进群交流:775129837
Jmeter微信小程序接口测试的更多相关文章
- 微信小程序自动化测试--接口测试
偷得一篇文章: postman测试微信小程序接口---postman https://www.sunzhongwei.com/using-the-postman-test-wechat-mini-ap ...
- 微信小程序性能测试之jmeter踩坑秘籍(前言)
最近要做个微信小程序的性能压测,虽然之前只做过web端的,但想一想都是压后端的接口,所以果断答应了下来,之前对jmeter都是小打小闹,所以趁着这次机会好好摆弄摆弄. ---------------- ...
- 【腾讯优测干货分享】微信小程序之自动化亲密接触
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/HcPakz5CV1SHnu-U8n85pw 导语 山雨欲来风满楼,最 ...
- 微信小程序用户信息解密失败导致的内存泄漏问题。
微信小程序获取用户解密的Session_key 然后对 encryptedData进行解密 偶尔报错 时间长了之后会报内存溢出: java.lang.OutOfMemoryError: GC over ...
- (一)微信小程序之模拟调用后台接口踩过的坑
如下图标记的三个点 在调试过程中出现问题,特此记录. 1. 之前在浏览器测试接口习惯省略 http:// ,是因为浏览器默认有一个检测,在你输入的网址前面加http://,如果有就不加. 然而在微信小 ...
- 【转】微信小程序实现自动化测试
山雨欲来风满楼,最近微信小程序相关开发文章吹遍大江南北,亦有摧枯拉朽万象更新之势.问小程序形为何物,直教IT众生怡情悦性高潮迭起.作为一名有着远大理想“包袱”与互联网变革 “使命感”的测试工程师,我再 ...
- C#开发微信小程序(四)
导航:C#开发微信小程序系列 关于小程序项目结构,框架介绍,组件说明等,请查看微信小程序官方文档,关于以下贴出来的代码部分我只是截取了一些片段,方便说明问题,如果需要查看完整源代码,可以在我的项目库中 ...
- 微信小程序自动化测试最佳实践(附 Python 源码)
本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程 ...
- 微信小程序如何测试?
不需要安装,只要在微信里找到这个小程序打开即可使用,由于小程序的便捷,如今越来越多的平台开发方都纷纷推出自身的小程序应用. 那我们该如何进行微信小程序测试呢? 1.功能测试 功能测试以需求文档和交互视 ...
随机推荐
- A. Round House_数学问题
A. Round House time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- url网址解析的好帮手
接下来进入node的重点,也就是介绍nodejs主要api的功能和如果使用,由于nodejs逐渐能满足这种高并发和大规模的场景.他才被更多的公司所采用 无论什么资源,一定要有明确的地址才有意义,在互联 ...
- 2017.10.16 java中getAttribute和getParameter的区别
(1)getAttribute:表示得到 域中的对象 返回的是OBJ类型; getParameter:表示 得到 传递的参数 返回的是String类型; 也就是getAttribute获得的值需要进 ...
- 【洛谷P1880】[NOI1995]石子合并
石子合并 fmax[l][r]表示合并区间[l,r]的最大分值, fmin[l][r]表示合并区间[l,r]的最小分值 for(k l~r-1) fmax[l][r]=max(fmax[l][r],f ...
- C#中 property 与 attribute的区别?
C#中 property 与 attribute的区别?答:attribute:自定义属性的基类;property :类中的属性
- 14、SpringBoot------定制错误返回内容json格式
开发工具:STS 前言: 在前后端分离的项目中,当前端向后端请求资源失败时,想知道具体的错误原因,给用户予以提示. 但是,在springboot中返回内容是固定的.并不适合我们前端进行分析. 所以,就 ...
- chisel(安装)
github地址 先安装homeBrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m ...
- spring-mybatis整合异常2
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' ...
- js | JavaScript中数据类型转换总结
转载 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = “123”; a = Number(a); ...
- 封装动态数组类Array
功能: 1.增.删.改.查 2.扩容.缩容 3.复杂度分析 4.均摊复杂度 5.复杂度震荡 分析动态数组的时间复杂度: 分析resize的时间复杂度: public class Array<E& ...