美文网首页
jmeter使用笔记

jmeter使用笔记

作者: 微凉01 | 来源:发表于2018-07-12 14:48 被阅读0次

    jmeter使用笔记

    生成测试报告(类似LR的测试报告)

    jmeter.bat -n -t 线程组.jmx -l csvlog.log -e -o Report


    引用jar包

    将自己开发的java文件生成jar包引用到jmeter中可以实现jmeter无法实现的一些功能,例如加密等

    方法:

    1、较为规范的方法:将jar包文件放入jmeter的解压目录下的lib/ext下,之后在jmeter的GUI界面中的测试计划选项中测试计划,在测试计划中最下方的library中加入自己要用的jar包,之后再脚本中引入需要使用的jar包比如:

    import xxxx

    xxxx.xxx.xxx(和java中调用方法的用法一致)

    2、比较随意的方法:将jar包随意放置位置,使用方法与上面一致。

    BeanShell的使用

    在前置选择器中选择beanshell,加入该选项,其中语法与java一致,传递参数使用vars.put("名称",名称)、获取参数使用vars.get("名称",名称)

    注:使用java传递参数是,参数需要进行URL编码

    转换Unicode编码

    //获取响应代码Unicode编码的

            String s2=new String(prev.getResponseData(),"UTF-8");

    //---------------一下步骤为转码过程---------------

            char aChar;

            int len= s2.length();

            StringBuffer outBuffer=new StringBuffer(len);

            for(int x =0; x <len;){

                aChar= s2.charAt(x++);

                if(aChar=='\\'){

                    aChar= s2.charAt(x++);

                    if(aChar=='u'){

                        int value =0;

                        for(int i=0;i<4;i++){

                            aChar= s2.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='\t';

                        else if(aChar=='r')

                        aChar='\r';

                        else if(aChar=='n')

                        aChar='\n';

                        else if(aChar=='f')

                        aChar='\f';

                        outBuffer.append(aChar);}}else

                    outBuffer.append(aChar);}

    //-----------------以上内容为转码过程---------------------------

    //将转成中文的响应结果在查看结果树中显示

            prev.setResponseData(outBuffer.toString());

    如何设置固定QPS

    添加组件Constant Throughput Timer

    参数说明:Target throughput 设置每分钟可以达到的吞吐量,注(以分钟为单位)

    calculate Throghput based on  作用域(一般选择 all active threads)

    相关文章

      网友评论

          本文标题:jmeter使用笔记

          本文链接:https://www.haomeiwen.com/subject/jefrpftx.html