Jmeter的元件有很多,其中包括测试计划、线程组、配置元件、前置处理器、定时器、取样器、后置处理器、断言器、监听器、逻辑控制器等。接下来将对这些元件进行详细介绍

一:测试计划(Test Plan)

测试计划是Jmeter的根基,所有的测试内容都是基于测试计划的,每次打开Jmeter都会默认带有一个测试计划。

1、用户定义的变量:用来定义全局的变量值,在测试计划下任何地方都能引用该处定位的变量。考虑放在此处的变量特点:(1)不会因为项目的环境的改变而改变的变量值,这样能使得脚本能够兼容各个环境。比如项目的用户名密码等变量会因为环境不一样而改变的就不建议放在此处定义,如果放在了此处,就会出现每次在不同环境执行脚本都要翻阅项目资料修改用户名密码等繁琐的操作 (2)注意点:由于直接在测试计划面板的【用户定义的变量】与在测试计划下新建【配置元件】->【用户定义的变量】完全等价,本人建议存放在此处的变量可以使用【配置元件】->【用户定义的变量】来替代,通过一次性新建好项目所有环境的变量信息,后面执行脚本的时候只需要控制各个环境的【用户定义的变量】的“禁用”与“启用”即可。例子:

jmeter如何配置Python解释器 jmeter详解_线程组


jmeter如何配置Python解释器 jmeter详解_jar包_02

我们希望脚本在哪个环境下执行只需要操作对应【用户定义变量】的启用与禁用即可。

2、独立运行每个线程组:(1)未勾选:有多个线程组时,其随机启动执行,(2)勾选后:多个线程组时,等待前一个线程组执行完成后才开始下一个线程组。注意点:只影响同个优先级下的线程组的随机执行顺序,不影响整体的顺序,如:必定会先执行setUp线程组、再执行普通线程组、再执行tearDown线程组。

例子1:未勾选【独立运行每个线程组】时:

jmeter如何配置Python解释器 jmeter详解_jar包_03


执行的时候,每次都会随机执行某个线程组下的请求,执行结果:

jmeter如何配置Python解释器 jmeter详解_jar包_04

 

例子2:勾选【独立运行每个线程组】时:

jmeter如何配置Python解释器 jmeter详解_线程组_05


执行的时候,会按线程组顺序从上往下执行,执行结果:

jmeter如何配置Python解释器 jmeter详解_测试计划_06

例子3:未勾选【独立运行每个线程组】时,不会影响先执行setUp线程组->普通线程组->tearDown线程组的顺序

jmeter如何配置Python解释器 jmeter详解_jar包_07


执行的时候,会先随机执行完setUp线程组下的所有请求,再随机执行完普通线程组的所有请求,最后随机执行完tearDown线程组下的所有请求,执行结果:

jmeter如何配置Python解释器 jmeter详解_线程组_08

结论:通常我们编写脚本的时候,是希望能以自己的期望执行顺序执行的,所以涉及到编写多个线程组脚本时,不要忘记了要勾选【独立运行每个线程组】

3、主线程结束后运行tearDown线程组:需要与线程组面板的【取样器错误后执行的动作】结合使用。在普通线程因错误结束执行时,(1)如果勾选此项,会继续执行tearDown线程(2)如果不勾选此项,则不会执行tearDown线程组。一般默认勾选即可,很少需要深究。

例子1:勾选【主线程结束后运行tearDown线程组】,设置线程组取样器错误后【停止测试】,控制主线程下某个请求发生错误,如图:

jmeter如何配置Python解释器 jmeter详解_线程组_09

jmeter如何配置Python解释器 jmeter详解_jar包_10

jmeter如何配置Python解释器 jmeter详解_线程组_11

执行结果:线程组3发生错误后,还会继续执行tearDown线程,如图:

jmeter如何配置Python解释器 jmeter详解_jar包_12

 

例子2:上述例子不勾选【主线程结束后运行tearDown线程组】 执行结果:线程组3发生错误后,还会继续执行tearDown线程,如图:

jmeter如何配置Python解释器 jmeter详解_测试计划_13

jmeter如何配置Python解释器 jmeter详解_jar包_14

4、函数测试模式:极少使用,不必了解

 

5、添加目录或jar包到ClassPath:添加文件或jar包,此功能最常用于调用外部jar包。当脚本需要调用外部的java文件或jar包时,可以把jar包路径添加到这里,然后就可以在beanshell中直接import进来,并调用jar包中的方法。