JMeter-Test Fragment的使用

1、概念

JMeter中的Test Fragment,是控制器上一个种特殊的线程组,它在测试树上与线程组处于一个层级。Test Fragment 不能直接执行,使用时需要和include Controller或者Module Controller配合。它的主要作用是模块化测试过程,类似于编程语言中的函数。即,将测试过程封装成测试片段,就可以在其他地方直接引用了。

可理解为步骤的集合片段。比如把某个流程的一部分(登录)存储为test Fragment,那么当其他线程也需要做同样操作时,就可以直接引用这个片段,而不需要重新编写。当线程数量很多时,可以方便管理某个关键步骤。

比如:将登录脚本保存为一个Test Fragment, 然后就可以在其他所有需要登录的测试脚本中调用这个Test Fragment,而不需要在每个测试脚本中都再写一个登录过程。

2、创建

 

在“测试计划”上,右键,选择“Test Fragment“添加即可。

3、使用

一、使用module controller

(1)新建一个测试计划,添加一个线程组,在线程组外面添加一个Test Fragment,添加登录请求:

(2)在线程组中,添加元件:Module Controller。在Module To Run 下面的图中选择需要的Test Fragment即可。选中后会高亮显示。

测试结果

二、使用include controller

(1)新建一个测试计划,添加Test Fragment和HTTP请求。

(2)将登录脚本保存为一个Test Fragment。

(3)另外新建一个测试计划,添加线程组,然后添加元件:include controller,将前面保存的登录脚本引入。这样,在其他地方使用(如,这里的线程组)。就不需要每个测试脚本都再写一个登录了,而且遇到登录脚本需要修改时,只需要修改Test Fragment即可,减少了工作量。

 

测试结果

 

测试结果虽然有响应,但是没有通过业务校验,是header带的参数有问题。这里面要注意的是,header请求头管理器是要在调用的脚本里使用。

更改如下:

再次测试:

成功