JMeter-在http POST请求中模拟带重音的UTF8字符
问题内容:
我正在使用Apache JMeter 2.8在一个基于Web的信息系统上进行一些性能测试。
在不同的请求中使用了几个带重音的字母-如“ä”,“ö”,“ü”或“õ”。
当涉及到运行测试脚本和执行请求时,例如某些参数中的“ä”值将变为“Ô。(’-‘-这是jmeter将此类字符保存到*
.jmx文件的方式。)这些http请求的内容编码设置为UTF-8。当我查看项目的内容时,所有字符都会正确显示。当我运行测试脚本时,使用了错误的值。
稍后添加:我可以使用utf8字符成功模拟GET请求,但是POST请求中的重音字符仍然看起来像“ä”。可能是什么原因,为什么jmeter的GET请求的数据具有正确的utf8编码并改为Windows
1252 / ISO-8859-1 / cp1252 /“ ANSI” POST?
任何想法为什么会发生这种情况?提前致谢!
问题答案:
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存在相同的概念。