美文网首页
让Jmeter支持BodyData发送emoji的2种方法

让Jmeter支持BodyData发送emoji的2种方法

作者: 唐T唐X | 来源:发表于2017-03-24 10:07 被阅读144次

不知道用过Jmeter的童鞋有没有发现,如果想在Jmeter里面通过http请求发送emoji表情符号如😄(下图),是没法做的。原因是目前Jmeter还不能支持在界面上输入emoji,自然就没法发送了。

Paste_Image.png

但是如果在测试任务中需要发送emoji该怎么办呢?办法还是有的,现在就说两种方法:

  1. 这种方法比较简单,就是直接修改jmx文件。找到jmx文件中需要发送emoji表情符的地方,然后插入表情符就好了。但是这种方法在Jmeter的UI端显示还是会是乱码,但是是管用的。
  2. 这种方法需要改下Jmeter的源码,自我感觉挺有意思。话不多说,直接上步骤:
    a. 搭建可以查看并编译Jmeter源码的环境:
    http://www.cnblogs.com/taoSir/p/5144274.html

b. 打开文件: HTTPHC4Impl.java

Paste_Image.png

c. 打开文件后,找到如下两行并进行修改:
将原来的:

StringEntity requestEntity = new StringEntity(postBody.toString(), contentEncoding);

StringEntity requestEntity = new StringEntity(entityBodyContent.toString(), charset);

替换为:

StringEntity requestEntity = new StringEntity(postBody.toString().replaceAll("<tangtang_smile>", "😄"), contentEncoding);

StringEntity requestEntity = new StringEntity(entityBodyContent.toString().replaceAll("<tangtang_smile>", "😄"), charset);

截图如下:

Paste_Image.png Paste_Image.png

简单说下:这两个地方其实就是Jmeter内部通过PUT,POST方法发送body data的地方,我们需要做的就是在这里把我们规定的一个特有字符串(<tangtang_smile>)替换成我们需要的表情符。然后在用Jmeter写请求Body的时候用这个特有字符串就好了。

当然,其实还可以通过更灵活的方式去加入这些字符,我这里就先用hardcode的方式了,大家自己做的时候可以根据自己的需求去改变。

d. 编译(如果有Jmeter运行版时用)
接下来要做的就是编译新的ApacheJMeter_http.jar包。
首先右键点击src/protocol/http工程名并选择Export -> java -> JAR file:

Paste_Image.png

打包后替换Jmeter路径下lib/ext/的ApacheJMeter_http.jar,然后再重新打开Jmeter,大功告成!

下面是在Body中让表情生效的写法:

Paste_Image.png

相关文章

网友评论

      本文标题:让Jmeter支持BodyData发送emoji的2种方法

      本文链接:https://www.haomeiwen.com/subject/lvptottx.html