jmeter接口测试json详解
本篇围绕jmeter(压力测试工具),请求json与返回json串处理进行解析,初入测试,理解如有不对的地方请大家及时提点~~
在这里jmeter工具的使用不在做解释
首先说下乱码问题,在这里无脑5步保证后续无乱码之忧
1.在http请求-contentencoding:utf-8 ↓

2.http请求-advanced-implementation:Java ↓

3.解决结果树中乱码:修改配置文件在jmeter主目录下/bin/jmeter.properties
搜索sampleresult.default.encoding将搜索的那一行变成
sampleresult.default.encoding=utf-8;
4.解决body-data乱码(也就是json串发送至服务器出现乱码)
在jmeter.properties配置文件最后加入
jsyntaxtextarea.font.family=Hack;
5.如果还是不行在sample加入beanshell sampler ↓

输入prev.setDataEncoding("utf-8");
下面讲示例:接口流程是注册接口-登录接口-添加补充信息接口-查询信息接口-充值接口
脚本已经写好了,咱们来看看吧~

按照接口文档请求为post,在bodydata添加参数,入参为上图 ↑

添加一个结果树,请求成功 ↑

在获取学生信息接口查看是否有刚刚的信息--居然有了 ↑
jmeter传参学会了,接收json串并且关联后续接口怎么做呢?

查看登录返回接口发现sign跟我们要的session很像~我们拿来用一用 ↑

在登陆接口添加JSON Extractor(jmeter4.0自带,没有的装插件吧) ↑

(另外一点:请求返回结果大家可以去看一下结果树右图xml,html,json等,具体看返回什么结果,对于html的返回格式,可以用正则表达式,对于json返回的数据可以用JSON Extractor和beanshell)
JSON Extractor的使用:
variables:设置一个指定名称
json path expressions路径根据上面左侧图返回的:先看最外层的大括号,其次“$.”表示最外层路径(结果跟xpath差不多)之后里面又嵌套了一个大括号{}括起来的内容也是一个整体,也可能有多个(就像文件路径一样),想要去哪个整体找就需要一层一层的去找,外层到内层的连接用"."表示,最后找到想要的sign,所以表达式为$.login_info.sign
备注:json中data是一个对象数组,data[0]代表取得的是第一个对象数组,data[*]表示全部,因为该响应只有一条数据所以可以忽略,则需要固定取值如$.login_info[0].sign意思为取第一组json里的sign值
获取到了json传sign的值,要去登陆用户并且去做充值,如果我们知道cookie和session的关系就很简单了

在充值接口下添加http请求管理器(当然还有种做法是直接加cookie管理器也行) ↑
加入cookie和前面关联的sessionid

当然也可以通过debug sampler去校验一下有没有取到值 ↓

最后去数据库校验或者查询学生信息接口有没有增加金额就可以了~~~~·
版权声明:本文原创发表于 博客园,作者为 RainBol本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
jmeter接口测试json详解的更多相关文章
- Jmeter接口测试流程详解(中科软测认证中心)
1.jmeter简介 Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以: Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同 ...
- Jmeter常用功能详解
嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅
- JSON详解(转)
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格 ...
- JSON详解(转载)
JSON详解 阅读目录 JSON的两种结构 认识JSON字符串 在JS中如何使用JSON 在.NET中如何使用JSON 总结 JSON的全称是”JavaScript Object Notation”, ...
- javaScript系列:JSON详解
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交 ...
- Spring Boot 之使用 Json 详解
Spring Boot 之使用 Json 详解 简介 Spring Boot 支持的 Json 库 Spring Web 中的序列化.反序列化 指定类的 Json 序列化.反序列化 @JsonTest ...
- Jmeter 测试计划元素详解
Jmeter 测试计划元素详解 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pan.baidu.com/s/1n ...
- jmeter --响应断言详解
jmeter --响应断言详解 响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-samp ...
- jmeter 基础功能详解
jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...
随机推荐
- git 获取线上代码并合并到本地
//查询当前远程的版本 $ git remote -v //获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch]) $ git fetch origin ...
- 热修复干货| AndFix热补丁动态修复框架使用教程
本篇文章会与大家一起学习使用阿里的AndFix热修复框架,可以说AndFix是国内热修复技术的开山始祖,尽管现在阿里已经放弃了对这个项目的维护,但是后来很多的热修复技术都借鉴了这一框架的实现思路. 1 ...
- Universial robot 运动学
1 正运动学: 1.1 DH方法理解 第i个坐标系固连在第i个连杆的左端.轴i固连于i-1杆,在i-1杆的右端. i坐标系固定在i杆上,随这i杆转动. 每个连杆有四个参数,第i个连杆: ai = ( ...
- 基于DNN的推荐算法总结
1.早期的算法 深度学习在CTR预估应用的常见算法有Wide&Deep,DeepFM等. 这些方法一般的思路是:通过Embedding层,将高维离散特征转换为固定长度的连续特征,然后通过多个全 ...
- 【Docker】:全面认识Docker和基本指令
Docker逐渐成为虚拟化技术的佼佼者,接下来会推出一系列的Docker相关技术文章,Docker技术也是架构师的必备技能. 什么是Docker Docker 是一个开源的应用容器引擎,基于Go语言, ...
- 外网访问虚拟机搭建的web服务
凌晨了,就简单写个一定可行的思路吧,有时间了再补上. 设置虚拟机为桥接模式,当然NAT也行,只是我嫌NAT麻烦 设置路由器,将虚拟机端口映射到外网
- 剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)
1. 题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 2. 思路和方法 使用移位(<<)和 “| & !”操作来实现.1的二进制是:前面都是0,最后一位 ...
- 打开python 交互式模式
pip install jupyter jupyter notebook --ip=127.0.0.1 --port=8888
- MGR安装记录
装好所有MySQL5.7, 打开GTID 修改my.cnf文件: ## group replication transaction_write_set_extraction = XXHASH64 ## ...
- 2019杭电多校三 C. Yukikaze and Demons (点分治)
大意: 给定树, 每个点有一个十进制数位, 求有多少条路径组成的十进制数被$k$整除. 点分治, 可以参考CF715C, 转化为求$10^a x+b\equiv 0(mod\space k)$的$x$ ...