zoukankan      html  css  js  c++  java
  • Jmeter解决乱码问题

    一、设置编码方式utf-8并勾选编码

    适用场景:参数中含有中文或乱码

    二、增加beanshell脚本

    添加BeanShell PostProcessor或者BeanShell Sampler,输入代码prev.setDataEncoding("utf-8");

    适用场景:第一种方法不管用时,或者没有参数时,例如百度首页。

    如果返回结果是json乱码

    beanshell脚本如下

    String s=new String(prev.getResponseData(),"UTF-8");
    char aChar;
    int len= s.length();
    StringBuffer outBuffer=new StringBuffer(len);
    for(int x =0; x <len;){
        aChar= s.charAt(x++);
        if(aChar=='\'){
            aChar= s.charAt(x++);
            if(aChar=='u'){
                int value =0;
                for(int i=0;i<4;i++){
                    aChar= s.charAt(x++);
                    switch(aChar){
                        case'0':
                        case'1':
                        case'2':
                        case'3':
                        case'4':
                        case'5':
                        case'6':
                        case'7':
                        case'8':
                        case'9':
                            value=(value <<4)+aChar-'0';
                            break;
                        case'a':
                        case'b':
                        case'c':
                        case'd':
                        case'e':
                        case'f':
                            value=(value <<4)+10+aChar-'a';
                            break;
                        case'A':
                        case'B':
                        case'C':
                        case'D':
                        case'E':
                        case'F':
                            value=(value <<4)+10+aChar-'A';
                            break;
                        default:
                            throw new IllegalArgumentException(
                                    "Malformed   \uxxxx  encoding.");}}
                outBuffer.append((char) value);}else{
                if(aChar=='t')
                    aChar='	';
                else if(aChar=='r')
                aChar='
    ';
                else if(aChar=='n')
                aChar='
    ';
                else if(aChar=='f')
                aChar='f';
                outBuffer.append(aChar);}}else
            outBuffer.append(aChar);}
    prev.setResponseData(outBuffer.toString());

    三、修改jmeter配置文件

    修改jmeter.properties配置文件,找到encoding,去掉前面的#。保存重启jmeter

  • 相关阅读:
    大数据基础——MR编程应用——对中间件的操作
    Hadoop_Hive整理——原理及配置
    Hadoop&Hive——小结
    mysql_小结之事务
    Linux_大数据与数据仓库
    移动布局小结
    JDBC——小结
    Mysql优化反刍
    NoSql-Verson1.0
    python-6
  • 原文地址:https://www.cnblogs.com/loveapple/p/10032322.html
Copyright © 2011-2022 走看看