使用Jmeter对网站进行性能测试

版权声明:欢迎交流讨论 https://blog.csdn.net/qq_37746973/article/details/81904751

1. 使用BadBoy录制脚本

在地址栏中输入对应网址

在左边添加步骤,这一点比较重要,最好不要将操作混在一起。每个操作有他对应的响应时间。

点击【File -> export to JMeter】,到处录制的脚本。

2. 配置JMeter

1. JMeter打开脚本

左键点击Thread Group,

2. 添加监听器

一般添加:察看结果数量,聚合报告,图形结果

对于有的请求是BadBoy无法录制到的比如Ajax请求

就要自行添加请求。请求内容从浏览器的network上查找

请求发送参数化:

右键点击请求【添加 -> 配置原件 -> CSV数据文件设置】

添加对base64的转码工具

右键【添加》后置处理》BashShell】

在下面添加如下代码

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='\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());

点击运行,查看结果

猜你喜欢

转载自blog.csdn.net/qq_37746973/article/details/81904751
今日推荐