先从Apache官网下载JMeter工具
这里我选择的是最新的版本5.2.1,下载下来之后解压
打开bin目录双击jmeter.bat即可打开主程序
当然,由于jmeter是java程序,只要安装了JVM就可以通过java命令直接运行ApacheJMeter.jar打开程序。打开JMeter之后看到的就是一个默认的“Test Plan”(测试计划),若测试人员有一个完整的测试流程是可以在上面填写上完整的测试计划名称和描述
一般来说作为一个非专业的测试人员用于测试的情况下只填上Name和Comments就可以了。但是我们可以设置用户变量到User Defined Variables中以便后面的测试线程中使用。在这里我就先不加用户变量了,之后在线程组中也是可以添加的。
至于上图的选项其实通过文字解释已经很清楚了,就是执行模式这个按需选取吧
在测试计划中添加线程组
鼠标右键逐步指向即可创建线程组
Name和Comments是一定要填的内容,下方Action to be taken after a Sampler error指的是如果实例发生错误之后可以执行的操作,这里就分了好几个等级:
- Continue:跳过错误继续执行
- Start Next Thread Loop:进入下一个线程循环
- Stop Thread:停止线程
- Stop Test:停止测试
- Stop Test Now:立刻停止测试
- Thread Properties中就是最重要的线程配置信息
- Number of Threads (users):这里说得很清楚了就是当前测试有多少个线程同时执行,一个线程代表一个用户
- Ramp-up period (seconds):决定多长时间启动完全部线程
- Loop Count:这里指的是测试要循环多少次来达到压测高峰状态
- Same user on each iteration:每一个迭代具有相同的用户(线程数)
- Delay Thread creation until needed:线程延迟生成
- Specify Thread lifetime:设定线程的生命周期,若勾选了这一项,下面的两项就可以填写Duration(持续时间),Startup delay(开始延迟)这两项都是按秒来算的
由于我们只做演示所以保持默认的就可以了
创建Http接口实例
同理通过鼠标右键可以生成Http实例,也就是我们的Http接口测试实例。其实通过上图可以看出除了Http接口之外还有很多类型的请求都是可以通过JMeter进行测试的,只是我们目前用得最多的就是http接口而已。
至于其他测试类型Pre Processors(前置执行)、Logic Controller(逻辑处理)等有机会再说。
从上图可以看出基本上就是将接口的信息填入就可以测试,在我这边我就用项目管理项目中的一个接口作为例子
在jmeter里面就是上图的写法,而在postman中的写法则是下面这样的
但是即使加上实例了也还不能够直接测试,因为实例只管执行不管输出,因此还需要添加查看的指标输出
这个时候Listener就有用武之地了,我们姑且将红框圈住的内容都新增上之后就可以点击
来执行用例
执行之后我们可以看到刚刚新建的监听器记录的测试结果
Summary Report:可以看到该接口的传输时间也就是我们压测时比较重要的几个网络传输指标,通过该指标我们可以对程序进行调优
View Result Tree:可以直观看出接口传输的情况,包括接口的请求状态、返回数据等
由上图可以看出该接口是已经成功的状态,后续如果需要压测只需要将线程增大,循环次数增多就可以了