热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jmeter接口测试json详解

本篇围绕jmeter(压力测试工具),请求json与返回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 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。


转载于:https://www.cnblogs.com/RainBol/p/9467108.html


推荐阅读
  • socket.io是个基于node.js的快平台实时通讯框架。只用不到10行代码,就可以搭建一个简单的多人实时聊天室。先来看看运行后的效果:socket.io多人聊天室只要简单几 ... [详细]
  • 开发网站你需要知晓的部分专用术语
      越来越多的企业和个人都在拥有属于自己的网站门户,首当其冲的就是你得知晓几个网站方面的专业术语,先是中就有好多的客户不明白这些,造成误会是正常的,那不如我们对它有个大致的了解,这样就不容易感觉 ... [详细]
  • crossorigin注解添加了解决不了跨域问题_CORS与@CrossOrigin详解
    1、跨域的基本概念a、跨域的解释要了解跨域,首先需要知晓浏览器的同源策略,简单的说就是两个请求协议、端口、主机都相同,则两个请求具有相同的 ... [详细]
  • 抓取百万知乎用户设计之实体设计
    一.实体的关系实体是根据返回的Json数据来设计的教育经历方面用户可以有很多教育经理,USER和education是一对多的关系,一个education对应一个education一 ... [详细]
  • jquery popupDialog 使用 加载jsp页面办法
    php教程|PHP开发jqueryphp教程-PHP开发如下所示:软件市场源码,vsCode字体不变,ubuntu的所有版本,taotomcat,sqlite连接php,个人域名服 ... [详细]
  • 一、问题开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误:Incorrectstringvalue:\xE6\x88\x91forcolumn ... [详细]
  • 安全3AAuthentication:认证Authorzation:授权Accouting|Audition:审计用户管理用户:UID:0,不一定是root,root的uid非0时 ... [详细]
  • 1.数据准备#测试数组vectorc(5,34,65,36,67,3,6,43,69,59,25,785,10,11,14)vector##[1]53465366736436959 ... [详细]
  • Linux文件目录和权限
    Linux文件目录和权限前言:Linux一般将文件可存取的身份分为三个类别,分别是ownergroupothers,根据权限划分,每个目录都可以拥有相对身份的-rwx[可读可写可执 ... [详细]
  • Echarts 3D地图图表
    需求:实现如图所示的3D地图图表(1)原本使用的highcharts没有3d地图的功能,搜索插件也没有可替代的方案ÿ ... [详细]
  • 本文分析和介绍了GLo ... [详细]
  • Git(1)
    安装Git完毕(在开始菜单打开的话,打开的不是你想要的路径,切换路径很麻烦)1.D盘新建GitTest文件夹2.打开GitTest,在空白的地方右键,3.单击GitBashHere ... [详细]
  • python基础(二、pycharm安装、卸载)
    3.在Ubuntu中安装PyCharmPyCharm的官方网站地址是:https:www.jetbrains.compycharm注意:安装时不要使用root用户安装,否则后期使用 ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • ASP.NET Core WebAPI 开发新建WebAPI项目  转
    转 http:www.cnblogs.comlinezerop5497472.htmlASP.NETCoreWebAPI开发-新建WebAPI项目ASP.NETCoreWebAPI ... [详细]
author-avatar
撒谎滴土豆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有