用jmeter做压测

欢迎大家加群,共同讨论测试自动化,qq群:436370465
1.以50个并发为例,首先需要准备50个用户逐个登录后获取这50个用户的token,并将token存储起来

下附代码
public static void execParam()
{
String getdata = vars.get("username")+","+vars.get("userOID")+","+vars.get("departmentOID")+","+vars.get("accessToken");
String filename = vars.get("path")+"accessToken.txt";
FileWriter writer;
try {
writer = new FileWriter(filename,true);
BufferedWriter bw = new BufferedWriter(writer);
bw.write(getdata);
bw.write("\r\n");
bw.flush();
writer.flush();
bw.close();
writer.close();

    } catch (IOException e) {
        e.printStackTrace();
    }

}
execParam();

生成的token文件如下

我们上面的线程组用来生成压测准备的token文件,下面我们就可以压测业务啦
2.new一个新的线程组
阶梯压测用setUP线程组
按持续时间压测使用常规线程组
下面以setUP线程组为例


其中:
遇到文件结束符再次循环:true
遇到文件结束符停止线程:false
这样设置的话,可一直增大并发(原因是token文件是用的50个用户,只有50个token,文件从头到尾并发只能支持50个,读取完了采用循环模式就可增大使用时的并发量,而不受制于token文件)
3.放在服务器上运行jmeter或者在客户端运行脚本,压测采用无头模式,生成测试报告
在服务器(或者客户端cmd)执行命令
./jmeter.sh -JConcurrency=20 -JdurationTime=600 -n -t /opt/LoadTest/script/ExpenseReportSubmit.jmx -l /opt/LoadTest/result/ExpenseReportSubmit20.jtl -e -o /opt/LoadTest/result/ExpenseReportSubmit20

其中:
JConcurrency 总并发数
JdurationTime 达到总并发后保持时间
-n -t无头模式运行
-l 生成jtl文件
-e -0生成html报告

posted @ 2020-12-12 16:07  小黑ようちょう  阅读(125)  评论(0编辑  收藏  举报