简介

JMeter中的Test Fragment,是控制器上一个种特殊的线程组,它在测试树上与线程组处于同一层级。但使用时需要和include Controller或者Module Controller配合。它的主要作用是模块化测试过程,类似于编程语言中的函数或代码块。即,将特定业务测试过程封装成“块”,在其他地方直接引用。

 
 

操作步骤

1. 业务流程的模块化。按照JMeter通常的接口测试步骤,依次添加线程组,取样器和查看结果树。这里采用JMeter插件中的Dummy Sampler作为登录接口的示意;查看结果树是为了调试查看结果,保证该业务流程在执行时是正确的。

 
 

2. 选中需要模块化的业务保存为Test Fragment。如Login_TF.jmx。

 

接下来,可以通过两种不同方式使用模块化的业务。

• 使用Module Controller(模块控制器)

1. 新建测试计划,将登录模块“合并”进来。注意,引用进来的Test Fragment需要“禁用”,这是为了避免执行Test Fragment本身。JMeter在2.13版本后,缺省为“禁用”状态。

 
 

2. 在线程组中,添加Module Controller,选中Test Fragment。

 

3. 执行结果。

 

• 使用Include Controller

1. 新建测试计划,在线程组中添加Include Controller,选择登录模块文件Login_TF.jmx。

 

2. 执行结果。

 

其他元件的使用,可参考

https://blog.csdn.net/aduocd/article/list/1?

作  者:Testfan 阿哆

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

JMeter元件之Test Fragment的更多相关文章

  1. Jmeter元件——JSON Extractor后置处理器介绍2

    在前段时间将JSON Extractor元件做了个简单的介绍:Jmeter元件——JSON Extractor后置处理器介绍1,今天以一个具体的json,以不同的方式提取数据做个详细的介绍. 一.模拟 ...

  2. 转 6 jmeter元件的作用域与执行顺序

    6 jmeter元件的作用域与执行顺序   元件的作用域 配置元件(config elements)会影响其作用范围内的所有元件.前置处理程序(Per-processors)在其作用范围内的每一个sa ...

  3. JMeter元件作用域实践指南

    从一个问题说起 对于以下测试脚本: 为了能调用进入房间接口,需要从考场接口获取考场token.为了调用考场接口,需要从登陆接口获取登陆token.元件说明如下: 学生登录,提取登录${token}传入 ...

  4. jmeter元件分析

    jmeter元件分析 一.脚本通用性 1.性能测试脚本改动一下,加入断言等元件,就可以作为接口测试脚本来使用 2.但是接口测试的脚本不可以作为性能测试脚本来使用 3.原因:因为性能测试考虑更多的性能, ...

  5. jmeter元件,作用域与优先级

    jmeter元件,作用域与优先级 一.jmeter元件 1.配置元件:优先级最高 1.1 重点使用元件:csv数据文件设置.用户定义变量.计数器 2.取样器:根据不同协议来编写请求脚本的元件 2.1 ...

  6. Jmeter元件运行顺序

    JMeter执行顺序逻辑如下: 1.配置元件(如果存在) 2.前置处理器(如果存在) 3.定时器(如果存在) 4.取样器(如果存在) 5.后置处理器(如果存在且取样器的结果不为空) 6.断言(如果存在 ...

  7. jmeter元件执行顺序及简介

    最近在学习Jmeter,在进行实操之前,先查看了官方文档.因为官方文档是英文的,为了方便以后查看,自己翻译了一部分,中间个别地方根据自己的理解简单地翻译了部分.如果翻译等有问题,欢迎指正. 一.执行顺 ...

  8. Jmeter元件——JSON Extractor后置处理器

    场景使用 json extractor后置处理器用在返回格式为json的HTTP请求中,用来获取返回的json中的某个值.并保存成变量供后面的请求进行调用或断言等. 使用方法 1.常规操作 路径:选择 ...

  9. JMeter元件的作用域与执行顺序

    元件的作用域 先来讨论一下元件有作用域.<JMeter基础元件介绍>一节中,我们介绍了8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器 是典型的不与其它元件发生交互作用 ...

随机推荐

  1. Initializer for conditional binding must have Optional type, not 'String'

    今天看到问Swift问题:  Initializer for conditional binding must have Optional type, not 'String' 以前没遇到过这个问题, ...

  2. TensorFlow实战第七课(dropout解决overfitting)

    Dropout 解决 overfitting overfitting也被称为过度学习,过度拟合.他是机器学习中常见的问题. 图中的黑色曲线是正常模型,绿色曲线就是overfitting模型.尽管绿色曲 ...

  3. deepin与win10 设置共享文件

    在做预料训练时用的是基于linux环境下的kenlm训练工具,然后当时发现woc? 这这这这训练出来的语言模型居然拖不到win10下使用......当时特别二,就在linux下登录邮箱给自己发邮件23 ...

  4. 给Date的构造函数添加属性和方法

    let d = Date.prototype; Object.defineProperties(d, { 'year': { get: function () { return this.getFul ...

  5. 关于moment().format()

    链接在这儿http://momentjs.cn/ 想要获取单独的年份或者月份可以使用:   moment().format('YYYY')和moment().format('MM') 随手记一下...

  6. 修改state(react)中的某一个对象中的单个参数

    react项目中我们经常会涉及到修改state中参数的问题,如果参数为常用的基本类型变量,我们可以直接通过this.setState({...})方法来进行修改,但是如果变量为一个对象我们要如何修改呢 ...

  7. 2019牛客暑期多校训练营(第二场)-F artition problem

    题目链接:https://ac.nowcoder.com/acm/contest/882/F 题意:将2×n个人分成两组,每组n个人,求一个组中所有人和另外一组的所有人的竞争值之和. 思路: 比赛时看 ...

  8. Palindromic Substrings

    Given a string, your task is to count how many palindromic substrings in this string. The substrings ...

  9. 云数据库RDS MySQL 版

    阿里云关系型数据库(Relational Database Service,简称RDS)是一种稳定可靠.可弹性伸缩的在线数据库服务.基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL. ...

  10. SQL之事务

    ●事务的ACID(acid)属性 ➢1.原子性(Atomicity ) 原子性是指事务是-一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. ➢2. 一致性(Consistency) 事务 ...