博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows版jmeter的body data如何用\n作为“换行”
阅读量:4971 次
发布时间:2019-06-12

本文共 1179 字,大约阅读时间需要 3 分钟。

  前段时间用jmeter进行某个web接口性能测试的时候遇到一个问题,body data中的换行的内容发送后,通过抓包发现总是发送"0D0A"即"\r\n"(wireshark—〉Hex Dump),因为接口中有一个参数需要测试并发多条数据,每个数据规定用"\n"分隔,所以一直没有找到好方法模拟,51testting问了也没人答,google了N久也没有好办法,今天有时间重新试了几次,终于找到方法了。

  我首先尝试的办法是不用body data,改用parameters,增加一条detail,然后把原来在body data的内容贴进去,大概如下

------------------------------c2549808e0dfContent-Disposition: form-data; name="em"product=deepscanuv=4et=1en=1md5s=a1d7e3adcdb07ddb6f42386a1d7e3adcdb07ddb6f42387------------------------------c2549808e0df--

  运行测试之后发现原来数据中的换行都变成"\n"了,包括之前一直无法解决的md5s也是用"\n"来换行啦,因为这个接口要求除了md5s这个参数的换行要用"\n",其他地方的换行还是要用"\r\n",所以这样并不能解决问题,但是起码知道原来windows版jmeter也是可以发送"\n"作为换行的了,因为"\n"是个转义字符,所以便从转义方向考虑,只要能把"\n"转义后作为数据发送出去就可以了,google后发现jmeter有转义字符相关的函数:

      __char(将一串数字翻译成Unicode字符)

  __unescape(用于反转义Java-escaped字符串)
      __unescapeHtml(用于反转义一个包含HTML字符串,将其变为包含实际Unicode字符的字符串)
      __escapeHtml(用于转义HTML字符串中的字符)

  最终找到问题的解决办法,就是一句:

${__unescape(\n)}或${__char(0xA)}

  所以只要把body data中需要这样处理的内容修改一下就就可以了,即

Content-Disposition: form-data; name="em"product=deepscanuv=4et=1en=1md5s=a1d7e3adcdb07ddb6f42386${__unescape(\n)}a1d7e3adcdb07ddb6f42387------------------------------c2549808e0df--

转载于:https://www.cnblogs.com/idbeta/p/5086654.html

你可能感兴趣的文章
poj 2109 pow函数也能这么用?p的开n次方
查看>>
Oracle database link
查看>>
清北学堂2017NOIP冬令营入学测试P4749 F’s problem(f)
查看>>
POJ 1840 Eqs HASH
查看>>
python调用shell小技巧
查看>>
TL431的几种常用用法
查看>>
BZOJ 1833: [ZJOI2010]count 数字计数( dp )
查看>>
关于toString()和String()要说几句话
查看>>
bzoj 3751[NOIP2014]解方程
查看>>
CSS(二) 文字样式属性,背景和列表
查看>>
js 经典闭包题目详解
查看>>
在项目中移除CocoaPods
查看>>
面试题三 替换空格
查看>>
LeetCode104.二叉树最大深度
查看>>
linux usb驱动——Gadget代码介绍
查看>>
【洛谷】CYJian的水题大赛【第二弹】解题报告
查看>>
POJ 1703 Find them, Catch them【种类/带权并查集+判断两元素是否在同一集合/不同集合/无法确定+类似食物链】...
查看>>
L1-5. A除以B【一种输出格式错了,务必看清楚输入输出】
查看>>
Git一分钟系列--快速安装git客户端
查看>>
bzoj 3160 万径人踪灭 —— FFT
查看>>