zoukankan      html  css  js  c++  java
  • Jmeter基础011----组件之逻辑控制器(重点)

    一、逻辑控制器概述

    1、概述

          逻辑控制器可以控制其下取样器何时执行以及执行的顺序,类似于计算机语言的流程控制语句,流程控制就是控制代码的执行顺序(分支+循环)。逻辑控制器自身的执行顺序是按位置顺序执行。

    2、分类

    简单控制器:最简单的逻辑控制器,他没有额外的功能,只是一个容器的功能,存放取样器等等原件。

    分支控制器----if控制器:条件满足时,才执行控制器下的元件。

    往复控制器---- forEach控制器、循环控制器:循环执行。

    事务控制器:将控制器下的所有取样器作为一个事物统计、分析。

    交替控制器:每次选取一个取样器执行。

    二、逻辑控制器之if控制器

    1、需求

          测试计划中三个http请求分别访问百度、淘宝和京东不是无差异的都执行,而是有选择性的执行,定义一个用户定义的变量,如果值是百度,就访问百度,是淘宝就访问淘宝,是京东就访问京东。

    2、实现思想:

    • 搭框架(测试计划,线程组, 结果树)
    • 添加组件用户定义的变量,存储变量值为百度、淘宝或京东
    • 添加一个分支组件----if控制器,有选择性的执行http请求。if控制器的编写条件格式为:“${变量名)"==“指定值”
    • 查看结果:符合条件的执行,不符合条件不执行

    3、具体实现

    (1)搭框架(测试计划,线程组, 结果树),并添加用户定义的变量组件,添加变量,如下图所示:

    (2)线程组右键----添加----逻辑控制器----如果(if)控制器,编辑if控制器条件,如下图所示:

    (3)在if控制器下创建HTTP请求,如下图所示:

    (4)运行测试计划,查看结果树。满足if控制器的条件则运行,否则不予运行,如下图所示:

     

    二、逻辑控制器之循环控制器

    1、需求

        循环查询所有学院信息10次。

    2、思考题

       线程组属性可以控制循环次数,那么循环控制器有什么用?-----------循环控制器更灵活,线程组循环是组内所有请求都循环执行,循环控制器可以只是让组内指定的请求循环。

    3、实现思想:

    • 搭框架(测试计划,线程组, 结果树),设置线程组的循环次数为1
    • 添加一个分支组件----循环控制器,设置循环次数
    • 在循环控制器下创建HTTP请求,运行测试计划,按照循环次数循环执行HTTP请求。

    4、具体实现

    (1)搭框架(测试计划,线程组, 结果树),设置线程组的循环次数为1,如下图所示:

     

    (2)线程组右键----添加----逻辑控制器----循环控制器,设置循环控制器循环次数,如下图所示:

     

    (3)在循环控制器下创建HTTP请求,如下图所示:

     

    (4)运行测试计划,查看结果树。按照循环次数循环执行HTTP请求,如下图所示:

     

    三、逻辑控制器之forEach控制器

    1、需求

       有一组关键字[hello.python,测试]要依次取出,并在百度搜索

    2、实现思想:

    • 搭框架(测试计划,线程组, 结果树,设置线程组的循环次数为1
    • 创建用户定义的变量组件,存储一组数据。数据规则:同一变量前缀_编号
    • 添加一个分支组件----forEach控制器,遍历步骤2中的数据,将数据设置进http请求。注意:索引是左闭右开的
    • 查看结果:百度遍历搜索用户定义的变量中的一组数据

    3、具体实现

    (1)搭框架(测试计划,线程组, 结果树),并添加用户定义的变量组件,添加一组变量,如下图所示:

     

    (2)线程组右键----添加----逻辑控制器----forEach控制器,输入变量前缀和索引,如下图所示:

     

    (3)在forEach控制器下创建HTTP请求,如下图所示:

     

    (4)运行测试计划,查看结果树。百度遍历搜索用户定义的变量中的一组数据,如下图所示:

     

    三、总结

    1、概述

      控制取样器的执行顺序(分支+循环)的组件,为了实现多样的业务逻辑

    2、控制器

    • 分支:if控制器
    • forEach控制器:遍历(迭代)一组数据。规则:前缀_阿拉伯数字;迭代:索引----左闭右开
    • 循环控制器:设置循环次数
  • 相关阅读:
    判断用户是否登录
    django 请求中的认证
    django 验证密码
    CXF+Spring搭建webservice服务
    CXF+Spring搭建webservice服务
    CXF+Spring搭建webservice服务
    关于本地用svn up的时候报cannot update svn folder: "unversioned directory of the same name already exists...
    关于本地用svn up的时候报cannot update svn folder: "unversioned directory of the same name already exists...
    关于本地用svn up的时候报cannot update svn folder: "unversioned directory of the same name already exists...
    关于本地用svn up的时候报cannot update svn folder: "unversioned directory of the same name already exists...
  • 原文地址:https://www.cnblogs.com/geqiandeqingmu/p/13088516.html
Copyright © 2011-2022 走看看