1、测试计划
测试用来描述一个性能测试,所有内容都是基于这个测试计划的。
(1)User Defined Variables:设置用户全局变量。一般添加一些系统常用的配置。如果测试过程中想切换环境,切换配置,一般不建议在测试计划上添加变量,因为不方便启用和禁用,一般是直接添加用户自定义变量组件。
(2)Run Thread Groups consecutively(i.e. one at a time):独立运行每个线程组。如果一个测试计划中有多个线程组,设置此项可以生效。不设置时每个线程组同时运行,设置时保证多个线程组按顺序执行。
(3)Run Teardown Thread Groups After Shutdown of main threads:关闭主线程后运行teardown程序来正常关闭线程组(运行的线程本次迭代完成后关闭)。比如主线程因为错误导致测试停止时,不设置此项则程序直接停止,设置此项则程序继续运行teardown线程组后停止。
(4)Functional Test Mode(i.e. save Response Data and Sample Data):函数测试模式。在调试脚本的过程中我们可能需要获取服务器返回的详细信息就可以选择此项,此项记录较多的数据会影响测试效率,所以在执行性能测试时请关闭此项。
(5)Add directory or jar to classpath:把测试需要依赖的jar包或包所在的目录加入类路径。不过还是建议大家把依赖的jar包添加到%JMETER_HONE%lib目录下。
2、线程(用户)
一般常用线程组:可以理解成为虚拟用户组。
setup thread group:可用于执行预测试操作(比如环境、数据的初始化或者设置)。这些线程的行为完全像一个正常的线程组元件。类似loadrunner中的init。
teardown thread goup:可用于执行测试后动作(比如测试数据删除、恢复、还原)。这些线程的行为完全像一个正常的线程组元件,类似loadrunner中的end。
3、如何添加线程组?
右击测试计划-添加-Threads(Users)-线程组
4、线程组执行顺序
当一个测试计划中包含多个不同类型的线程组时,线程组的执行顺序是:setup thread group-->一般常用线程组-->teardown thread goup。如图:
当一个测试计划中包含多个一般常用线程组时,线程组的执行顺序实际是同时并发执行的。
可以在测试计划控制面板中勾选“独立运行每个线程组”,这样线程组的执行顺序就变成按照树中的排列前后执行的了。
5、线程组设置
线程数:虚拟用户数。
ramp up period:设置的虚拟用户数需要多长时间全部启动。如果线程数为20,时间为10,也就是每秒钟启动2个线程。
循环次数:每个线程发送请求的次数。如果线程数为20,循环次数为100,那么每个线程发送100次请求。总请求数为20*100=2000。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。
调度器:可以更灵活的设置运行时间等。