zoukankan      html  css  js  c++  java
  • Jmeter之响应结果乱码解决

    场景:

    在测试过程中,我们可能需要查看结果树,但是发现里面的响应数据在“Document”以外的其他表现形式下都有乱码,如下图就是设置了以Text的形式展示,响应数据包含乱码:

    wKioL1gJ2QTiPjG4AACGMIrdV7Q436.png

    分析:原因是Jmeter的结果处理编码与被测试对象的编码不一致;

    1、Jmeter的sampler请求结果的默认编码方式为:ISO-8859-1(不支持中文);

    2、被测对象的结果编码可能是gbk、UTF-8;

    解决方法:

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

    优点:灵活,随时修改;

    缺点:要根据不同的对象设置不同的编码,

    适用范围:测试不同的公司项目,有些公司喜欢GBK,有些事UTF-8;

    2、修改Jmeter的默认编码;

    优点:一次修改,长久使用;

    缺点:如果要测试不同的公司项目,需要多次修改,较麻烦;

    使用范围:测试本公司的项目,毕竟同一个公司的项目基本上都是使用同一个编码的;

    那么就很明确了,大家可以根据自己的需要来设置;

    下面说明两个方法的操作步骤

    1、使用后置控制器"BeanShell PostProcessor"

    (1)确定返回结果的编码(可跟开发人员确认,如果是web页面,可查看源文件得知),如;

    (2)右键httpSampler,添加“BeanShell PostProcessor”元件;

    wKiom1gJ01yxPr80AABMs2kr0tY824.png

    (3)设置“BeanShell PostProcessor”;

    在“Script”中增加“prev.setDataEncoding("UTF-8");”

    wKioL1gJ08KA7bhSAABmuUkM4eM116.png

    (4)验证是否解决,如下图,已成功处理;

    wKioL1gJ1MvQw2BVAABytBPkw7I192.png

    2、修改Jmeter的默认编码

    (1)进入%JmeterHome%/bin,找到Jmeter.properties,并打开;

    wKiom1gJ1s_wqBQ9AABEat1h1xs753.png

    (2)搜索“sampleresult”,找到sampler的编码设置代码;

    wKioL1gJ13binjlZAABGNb4xrcA300.png

    (3)修改编码为“UTF-8”,去掉“#”(注释符号),保存设置,并重启Jmeter;

    wKioL1gJ2BmSU3QpAAA6vTg6pKo402.png

    (4)验证是否解决,如下图(无BeanShell PostProcessor),已成功处理;

    wKiom1gJ2fyTprOKAACCC7a824k908.png

    延伸:

    1、向服务器发送的post请求中存在乱码(一般是中文)时,

    可在请求中设置content-encoding,如UTF-8;

    wKioL1gJ3HmQf5xBAABtPr_cQAc732.png

    2、“BeanShell PostProcessor”一定要设置在http请求中么?

    答:不是,后置处理器在监听器之前处理(如不知道元件的作用域与执行顺序请自行Google,我后面有时间再整理一份),所以只要在作用域内,后置处理器放哪里都是同样的效果;

    如下图:

    wKiom1gJ4feQ3XV2AAB3zNVN0Bk164.png

     转自:http://blog.51cto.com/ydhome/1864340

  • 相关阅读:
    scrapy 常用代码
    pycahrm 基础设置
    pycahrm 激活
    pycharm 常用快捷键
    platform 系统是windows还是liunx
    (14)awk布尔值、比较和逻辑运算
    (13)gawk支持的正则表达式
    (12)awk数据类型和字面量
    (11)细说awk中的变量和变量赋值
    (10)print、printf、sprintf和重定向
  • 原文地址:https://www.cnblogs.com/longronglang/p/10218827.html
Copyright © 2011-2022 走看看