jmeter发送的post请求,可以是json请求,和普通的post请求稍微有点区别,那么怎么用jmeter发送json请求呢?

首先要找一个json请求的例子,这个例子是携程网搜索机票,

网址为:http://www.ctrip.com/

就会看到一个请求

POST http://flights.ctrip.com/itinerary/api/12808/products HTTP/1.1

Host: flights.ctrip.com

Connection: keep-alive

Content-Length: 394

Origin: http://flights.ctrip.com

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36

Content-Type: application/json

Accept: */*

Referer: http://flights.ctrip.com/itinerary/roundtrip/SZX-PVG?date=2018-08-16,2018-09-03&portingToken=f4b3cccf952d430f849b09cf2f1b7142

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

Cookie: _abtest_userid=5de22bed-c5a7-4899-9a39-d9585171b4dd; _RSG=2t4LegTggt55DEOg1rU9yA; _RDG=2832aa1c0f5c9127e73f759be773872d62; _RGUID=5deaa9da-a854-4dc2-af09-7b506a60e345; _ga=GA1.2.928472268.1516689249; Session=SmartLinkCode=U799897&SmartLinkKeyWord=&SmartLinkQuary=&SmartLinkHost=&SmartLinkLanguage=zh; DomesticUserHostCity=SZX|%c9%ee%db%da; adscityen=Shenzhen; _RF1=119.139.197.11; _gid=GA1.2.1823419760.1533784673; Union=OUID=&AllianceID=4897&SID=799897&SourceID=&Expires=1534389473325; MKT_Pagesource=PC; appFloatCnt=1; manualclose=1; _bfa=1.1516689246225.w2exd.1.1533784670751.1533792777877.13.59; _bfs=1.4; Mkt_UnionRecord=%5B%7B%22aid%22%3A%224897%22%2C%22timestamp%22%3A1533794105486%7D%5D; _jzqco=%7C%7C%7C%7C1533794085844%7C1.75043952.1516689249334.1533794085722.1533794105525.1533794085722.1533794105525.undefined.0.0.27.27; __zpspc=9.15.1533794085.1533794105.2%231%7Cbaiduppc%7Cbaidu%7Curldx%7C%25E8%25AE%25A2%25E7%25A5%25A8%25E7%25BD%2591%25E7%25AB%2599%7C%23; _bfi=p1%3D100101991%26p2%3D100101991%26v1%3D59%26v2%3D58; FD_SearchHistorty={"type":"D","data":"D%24%u6DF1%u5733%28SZX%29%24SZX%242018-08-16%24%u4E0A%u6D77%28%u6D66%u4E1C%u56FD%u9645%u673A%u573A%29%28PVG%29%24SHA%2CPVG%242018-09-03%24%24"}

{"flightWay":"Roundtrip","classType":"ALL","hasChild":false,"hasBaby":false,"searchIndex":1,"portingToken":"f4b3cccf952d430f849b09cf2f1b7142","airportParams":[{"dcity":"SZX","acity":"PVG","dcityname":"深圳","acityname":"浦东国际机场","date":"2018-08-16","dcityid":30},{"dcity":"PVG","acity":"SZX","dcityname":"浦东国际机场","acityname":"深圳","date":"2018-09-03","acityid":30}]}

可以看出请求数据是一个json字符串,这个就是一个json请求。

然后在打开jmeter,新建一个http请求

在http请求中填写内容如下图,把json串复制到BodyData 中去

添加结果树,执行请求,Response Data没有数据,说明请求不成功

请求不正常,是因为请求的header 不正确,添加header

复制请求数据中的header信息到粘贴板,点击【add from clipboard】按钮,就自动把header的键值对复制到这里,很方便。这个是jmeter 4.0,记得jmeter 3.x版本复制过去,每一行开头还多了一个空格,现在4.0 没有这个问题,算是方便不少了。

再执行请求,请求响应信息正常

这个时候,如果删除 header信息中的 Content-Type: application/json

请求又不正常,说明json请求一定要再header 中配置这一项才行

微信关注公众号:为测,获取更多自动化方面技术文章

Jmeter发送Json请求的更多相关文章

  1. 如何使用 Jmeter 发送 Json 请求

    公司最近有一个项目,需要持续发送大量的 Json 请求到服务器,从而测试服务器可靠性. 我就发送 Json 请求部分发布这个博客. 一般来说, Json 请求的数据都保存到 CSV 文件中,然后使用 ...

  2. Jmeter 发送json{Jfinal 接口req rsp均为json}

    链接地址:http://yangyoupeng-cn-fujitsu-com.iteye.com/blog/2013649 使用jmeter发送json数据.方法有三种 原创,转载请注明出处 1.利用 ...

  3. Jmeter 发送json

    阅读更多 使用jmeter发送json数据.方法有三种 原创,转载请注明出处 1.利用CSV Data set Config. 参考: http://demi-panda.com/2013/01/08 ...

  4. 『动善时』JMeter基础 — 14、使用JMeter发送Post请求

    目录 1.Post请求参数类型说明 2.用于演示的项目说明 3.发送Post请求示例 (1)测试计划内包含的元件 (2)请求参数类型为x-www-form-urlencoded 4.请求参数form- ...

  5. Jmeter发送JDBC请求

    下午花了两个小时研究了一下Jmeter发送JDBC请求,现在把基本操作流程分享一下. 做JDBC请求,首先需要两个jar包:mysql驱动-mysql-connector-java-5.1.13-bi ...

  6. Httpclient发送json请求

    一.Httpclient发送json请求 public String RequestJsonPost(String url){    String strresponse = null;    try ...

  7. postman发送json请求,使用案例

    介绍:  postman是一个很好的http模拟器,,可以发送get.post.put等各种请求,是测试服务接口相当好的工具. postman发送json请求,使用案例 发送json的具体步骤: 1. ...

  8. jmeter 发送http请求,并把获取到的请求的订单信息保存到文件中

    有一个任务,需要频繁发送订单请求,并分析订单请求中有没有存在重复订单号,思路是用jmeter 发送http请求,使用正则表达式获取到订单号,并把订单号和线程号作为参数提供给java请求,在java请求 ...

  9. curl 发送json请求

    curl 发送json请求 这个是在cmd环境下的输入:注意{\"userName\":\"helo\",\"id\":1}中间不能有空格 ...

随机推荐

  1. Codeforces 901C Bipartite Segments

    Bipartite Segments 因为图中只存在奇数长度的环, 所以它是个只有奇数环的仙人掌, 每条边只属于一个环. 那么我们能把所有环给扣出来, 所以我们询问的区间不能包含每个环里的最大值和最小 ...

  2. 宇宙最强VisualStudio2017配置pyQt5用于python3.6的UI界面工具(转)

    宇宙最强VisualStudio2017配置pyQt5用于python3.6的UI界面工具 转载: https://blog.csdn.net/m0_37606112/article/details/ ...

  3. 版本控制系统 git 之基础讲解

    很久之前就用起了git,但都是用在从github上clone项目上,或者hexo的博客提交上,直到前段时间加入了学校的技术中心,需要用git进行文件管理,才去了解了下git的具体使用方式. 什么是gi ...

  4. jquery 简单的别踩白块小游戏

    写写简单的东西,效果如图: 1.html代码 <div class="warp"> <div class="title"> <h3 ...

  5. Java中设置方法执行的超时时间java.util.concurrent.Future

    java.util.concurrent.Future Future代表一个异步计算的结果.它提供了方法来检查是否计算已经完成,还是正在计算而处于等待状态,并且也提供了获取计算结果 方法.当计算完成后 ...

  6. Codeforces757E.Bash Plays With Functions(积性函数 DP)

    题目链接 \(Description\) q次询问,每次给定r,n,求\(F_r(n)\). \[ f_0(n)=\sum_{u\times v=n}[(u,v)=1]\\ f_{r+1}(n)=\s ...

  7. while 、函数、参数

    while 循环 一个循环语句 表示当某个条件成立时就循环 不知道具体循环次数,但能确定循环的成立条件的时候用while循环 while 条件表达式: 语句块 例1 :如果年利率为6.7%,本利是每年 ...

  8. 实例化和设置一个优秀的php对象

    类是用于生成对象的代码模板,对象可以被说成是类的"实例" class ShopProduct{ public $title = 'default product'; // 属性也称 ...

  9. Android MediaCodec 状态(States)转换分析

    *由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不 ...

  10. iOS11适配

    链接: 你可能需要为你的 APP 适配 iOS 11 iOS11新特性,如何适配iOS11 App界面适配iOS11(包括iPhoneX的奇葩尺寸) iOS 11 安全区域适配总结 iOS 11 sa ...