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

------------------------------c2549808e0df
Content-Disposition: form-data; name="em" product=deepscan
uv=4
et=1
en=1
md5s=a1d7e3adcdb07ddb6f42386
a1d7e3adcdb07ddb6f42387
------------------------------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=deepscan
uv=4
et=1
en=1
md5s=a1d7e3adcdb07ddb6f42386${__unescape(\n)}a1d7e3adcdb07ddb6f42387
------------------------------c2549808e0df--

windows版jmeter的body data如何用\n作为“换行”的更多相关文章

  1. 自动化测试框架【windows版】:JMeter + Ant + Jenkins

    前提条件:windows安装了jmeter.ant.jenkins 安装方法参考汇总目录中对应的博文 截图看不清的,可以调大浏览器倍数看 jenkins驱动ant执行,ant驱动jmeter执行 an ...

  2. 接口自动化测试框架【windows版】:jmeter + ant + jenkins

    为了提高回归效率及保证版本质量,很多公司都在做自动化测试,特别是接口自动化.接口自动化测试框架很多,有写代码的,也有不写代码的,我觉得没有谁比谁好,谁比谁高级之说,只要适用就好. 今天给大家分享一个不 ...

  3. MongoDB 3.0安全权限访问控制(Windows版)

    MongoDB 3.0安全权限访问控制(Windows版) 1.首先,不使用 –auth 参数,启动 mongoDB: mongod --dbpath "d:\mongodb\data\db ...

  4. windows版influxDB安装与配置

    一.下载链接https://portal.influxdata.com/downloads,选windows版 二.解压到安装盘,目录如下 三.修改conf文件,代码如下,直接复制粘贴(1.4.2版本 ...

  5. 一步步实现windows版ijkplayer系列文章之六——SDL2源码分析之OpenGL ES在windows上的渲染过程

    一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...

  6. Windows版Redis如何使用?(单机)

    使用Windows版Redis 1.下载Windows版本的Redis 2.在redis目录里创建redis.conf ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  7. windows版mysql8.0安装详解

    2018年07月04日 13:37:40 Zn昕 阅读数 6433更多 分类专栏: mysql   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. ...

  8. Windows版 PostgreSQL 利用 pg_upgrade 进行大版升级操作

    最近 PostgreSQL 15 版本正式发布了,新版本的各种特性和好处本文就不展开介绍了,主要介绍一下 Windows 环境下 PostgreSQL 大版本升级的方法,我们现在的几个数据库都是运行在 ...

  9. Sass安装(windows版)

    Sass安装(windows版) 在 Windows 平台下安装 Ruby 需要先有 Ruby 安装包,大家可以到 Ruby 的官网(http://rubyinstaller.org/download ...

随机推荐

  1. MVC 向页面传值方式总结(1)

    ViewData传值. HomeController.cs Co de: public ActionResult Index() {       ViewData["Title"  ...

  2. dhtmlx Gantt知识点2

    <link rel="stylesheet" href="../../codebase/skins/dhtmlxgantt_skyblue.css?v=5.2.0& ...

  3. css_文本溢出

    1.单行文本溢出隐藏,显示省略号 2.多行文本溢出隐藏,显示省略号 1.只针对用webkit内核浏览器渲染页面才会有效果 2.(多行文本溢出隐藏,显示省略号)通用方法

  4. java_基础_static{}语句块

    static{}语句块会在类被加载的时候当且仅当执行一次,一般用于初始化变量和调用静态方法 Class.forName(“类名”);方法执行时会加载类 外界调用类中静态变量是不会加载类的,也就是说,如 ...

  5. 阿里云入坑指南&&nodejs 安装配置

    买了阿里云1G1核1M的机器(800元,3年) 登录阿里云-实例-选择实例所在地区-重置密码 用公网IP ssh连接 #升级CentOS yum -y update #安装or更新组件 yum -y ...

  6. HBuilder打包vue项目app后空白,并请求不到数据

    (解决空白问题)在打包之前一定要修改 config 目录下的 index.js 文件中的 bulid 模块打包配置项,否则会出现空白,如图   修改前 assetsPublicPath= '/',. ...

  7. linux 逆向映射

    逆向映射用于建立物理内存页和使用该页的进程的对应页表项之间的联系,在换出页时以便更新所有涉及的进程.得到物理页基址后,根据pfn_to_page可以将页框转换为page实例,page实例中的mappi ...

  8. 关于windows 7 安装Django和基本使用命令

    一.安装 在安装前需注意Django 1.6以前的版本不支持python 3.×以上的版本. Django 2.×支持python 3.6 安装方法:打开cmd->输入pip install - ...

  9. HDU 1754 线段树入门解题报告

    ---恢复内容开始--- 题意:给定区间,每个人的成绩, Q次询问,求每次询问区间中的最大值 思路:构造线段树 代码: #include<stdio.h> #include<algo ...

  10. SQL SERVER数据库附加是只读的解决方法

    使用sa登录SQL Server2008附加数据库,附加之后数据库为只读的, 点数据库-->“属性”-->“选项”-->“状态”, 发现“数据库为只读”这一项为True,改为fals ...