概要
Jmeter是一款流行的性能测试和压力测试工具,它的特点是使用Java语言编写,跨平台,并且提供了便捷的GUI界面进行任务编排,然后支持Cli模式执行任务。
实战入门
CSVSample
在Jmeter的安装包中,在example目录下提供了2个样例程序,其中CSVSample比较值得学习。简单来说,Jmeter的使用原则是把每一步抽象为一个组件,不同的组件具有不同的能力,包括编程中的控制逻辑if-else,while-do等都是通过增加一个组件实现的。
如上图所示,程序的根是一个ThreadGroup,里面控制了线程数、运行次数等参数。 程序的逻辑可以简单归纳为:
- 通过CSV Data组件从本地csv文件获取输入
- 调用Java包执行测试
- 使用一个While-If循环判断程序是否要退出
- 继续测试其他接口
- 添加2个默认View,展示测试过程中的sample结果
Cli模式
Jmeter官网强调了我们在进行真实测试的时候不要使用GUI模式提交任务,而是使用Cli模式。
Cli模式使用起来也非常简单:
jmeter -n -t CSVSample.jmx -l ./result.jtl -e -o ./report
需要注意的是 -l 和 -o 指定的文件或文件夹必须不存在于文件系统中,否则压力测试会执行失败