JMeter学习笔记

JMeter 接口测试解决响应数据中文乱码方法

2017-09-23  本文已影响350人  DC_ing

产生原因:

Jmeter的结果处理编码与被测试对象的编码不一致。Jmeter的sampler请求结果的默认编码方式为:ISO-8859-1(不支持中文),Jmeter的sampler请求结果的默认编码方式为:ISO-8859-1(不支持中文)。

解决方法一:

使用后置控制器 BeanShell PostProcessor 来动态修改结果处理编码,使之与被测对象保持一致;

优点:灵活,随时修改,不会更改其他请求的结果编码;
缺点:要根据不同的对象设置不同的编码;
适用范围:测试不同的公司项目,有些公司喜欢GBK,有些是UTF-8;

配置方法:

1、确定返回结果的编码(可跟开发人员确认,如果是web页面,可查看源文件得知),下图是在 JMeter 中【查看结果树】监听器中查看;

查看响应数据编码.jpg

2、右键 http Sampler,添加 BeanShell PostProcessor 后置处理器;

添加BeanShell PostProcessor处理器.jpg

3、设置 BeanShell PostProcessor;在Script中增加 prev.setDataEncoding("UTF-8"); (PS:脚本的符号需使用英文符号)

添加结果固定编码.jpg

4、测试验证,OK,设置完毕。

解决办法二:

修改Jmeter的默认编码方式;

优点:一次修改,长久使用;
缺点:如果要测试不同的公司项目,需要多次修改,较麻烦;
适用范围:测试本公司的项目,毕竟同一个公司的项目基本上都是使用同一个编码的;

配置方法:

1、确定返回结果的编码(可跟开发人员确认,如果是web页面,可查看源文件得知);
2、打开 %JMeter_HOME%\bin\jmeter.properties文件,搜索 default.encoding,找到 jmeter 的默认编码设置;修改编码与被测系统同样的编码方式,如UTF-8,去掉“#”(注释符号),保存设置。

更改 jmeter 默认编码.jpg

3、重启Jmeter验证即可

上一篇下一篇

猜你喜欢

热点阅读