JMeter的 - 在HTTP POST请求模拟的重音UTF8字符(JMeter - Simulat

2019-10-17 13:36发布

我使用的Apache JMeter的2.8开展一个基于网络的信息系统上的某些性能测试。

有不同的要求使用的几个重音字母 - 如“A”,“O”,“U”或“O”。

当谈到运行测试脚本和执行的请求,例如“a”的一些参数值会变成“澶”。 (“澶” - 这是JMeter的方式保存这样的字符变成* .jmx文件)设置为UTF-8这些http请求内容编码。 当我在看项目的内容,所有字符都正确地将显示。 当我运行测试脚本使用错误的价值观。

后来补充:我能成功地模拟GET请求使用UTF8字符,但在我的POST请求仍然重音符号看起来像“澶”。 什么可以的原因,为什么JMeter的GET请求数据有适当的UTF8编码和岗位的Windows 1252 / ISO-8859-1 / CP1252 / “ANSI” 呢?

任何想法,为什么出现这种情况? 提前致谢!

Answer 1:

在JMeter的JMX正确保存字符,请确保您有正确的编码(UTF-8)打开它们。

在JMeter中有此属性:

  • sampleresult.default.encoding = ISO-8859-1

其中,如果这不是默认的编码可以改变。 但我不知道这是你所面临的问题。

检查“编码?”

解决方法是:

  • 内容编码设置为UTF-8

  • 检查编码? 在参数表作为参数都是非ASCII者

如果这不起作用,它揭示了在测试应用程序的问题:

request.setCharacterEncoding("UTF-8") must be called before using parameters if it's a Java Application.

相同的概念对于PHP和ASP存在。



Answer 2:

显示不仅取决于输入,但是什么的字节字符解码显示是利用对其进行解释。 例如, ä ,当为UTF-8编码的,是字节0xC3A4

现在,是什么0xC3A4看起来显示时是怎样的? 这取决于解码是干什么用的。 下面是一些例子:

  • UTF-8: ä
  • 视窗1252 / ISO 8859-1 / CP1252 / “ANSI”: ä
  • UTF-16BE:
  • UTF-32:
  • MAC OS小说: √§
  • 视窗1251: Г¤

等等。



Answer 3:

事情得到了由来自HttpClient4切换HTTP请求执行领域HttpClient3.1 +留下HTTP请求内容编码值空固定:)

有可能是使用HttpClient4对于一些JMeter的错误。



文章来源: JMeter - Simulate accented UTF8 characters in http POST request