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. MySQL安装详细图解整理

    MySQL安装详细图解 2018-08-19  08:32:33 一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win64.zip,双击解压缩,运行“setup.ex ...

  2. js后退

    history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面 history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在 history.back(0) 刷新 ...

  3. 最全Python爬虫总结(转载)

    [html] view plain copy 最近总是要爬取一些东西,索性就把Python爬虫的相关内容都总结起来了,自己多动手还是好. (1)普通的内容爬取(2)保存爬取的图片/视频和文件和网页(3 ...

  4. UVa 11059 - Maximum Product 最大乘积【暴力】

    题目链接:https://vjudge.net/contest/210334#problem/B 题目大意:Given a sequence of integers S = {S1, S2, . . ...

  5. JS高级-原型等概念深入理解

    一 数据类型: 基本(值)数据类型: string number undefined null boolean 对象(引用)类型 [ 查找对象的属性时,会查找原型链 设置属性时,一般在构造函数里面设置 ...

  6. hadoop分布式集群完全安装(非HA)

    一.各节点基础环境配置(最好每台都配置) 先输入su获取root权限 1修改主机名 输入vim /etc/sysconfig/network 改成: NETWORKING=yes HOSTNAME=m ...

  7. Web大前端面试题-Day7

    1. 你能描述一下渐进增强和优雅降级之间的不同吗? 定义: 优雅降级(graceful degradation): 一开始就构建站点的完整功能, 然后针对浏览器测试和修复 渐进增强(progressi ...

  8. 10.17 NOIP模拟赛

    目录 2018.10.17 NOIP模拟赛 A 咒语curse B 神光light(二分 DP) C 迷宫maze(次短路) 考试代码 B 2018.10.17 NOIP模拟赛 时间:1h15min( ...

  9. BZOJ.4553.[HEOI2016&TJOI2016]序列(DP 树状数组套线段树/二维线段树(MLE) 动态开点)

    题目链接:BZOJ 洛谷 \(O(n^2)\)DP很好写,对于当前的i从之前满足条件的j中选一个最大值,\(dp[i]=d[j]+1\) for(int j=1; j<i; ++j) if(a[ ...

  10. [AGC025B]RGB Coloring

    [AGC025B]RGB Coloring 题目大意: 有\(n(n\le3\times10^5)\)个格子,每个格子可以选择涂成红色.蓝色.绿色或不涂色,三种颜色分别产生\(a,b,a+b(a,b\ ...