Day13.逻辑控制器之if控制器和简单控制器

接口信息说明:
    登录接口
        api:post
        method:post
        request data:
            {
                "loginName":"IDO",
                "passwd":"123"//base编码
            }
    退出接口:
        api:get
        method:get
    添加用户接口:
        api:post
        method:post
        request data:
            {
                "login_name":"IDO",
                "phone":"13100000000",
                "real_name":"老徐"
            }
    编辑用户接口
        api:put
        method:put
        request data:
            {
                "login_name":"IDO",
                "phone":"13100000000",
                "real_name":"老徐"
            }
CSV参数文件数据:
login_name,phone,real_name
IDO123,13100000000,老徐123
IDO124,13100000001,老徐124
IDO125,13100000002,老徐125
IDO126,13100000003,老徐126
IDO127,13100000004,老徐127
IDO128,13100000005,老徐128
IDO129,13100000006,老徐129
IDO130,13100000007,老徐130

1.组件说明

IF控制器组件示例

简单控制器组件示例

a.第一种写法

默认写法(勾选Interpret Condition as Variable Expression?),使用带有变量的表达式

为了提高性能,建议检查“将条件解释为变量表达式”,并使用jexl3或groovy计算true或false,或者使用包含true或false的变量。jmeterthread。可以使用last sample ok}测试last sample是否成功
${__jexl3("${login_name}"=="IDO123",)}

b.第二种写法

(去掉Interpret Condition as Variable Expression?的勾选),直接写判断条件

"${login_name}"<="IDO127"

c.第三种写法

(勾选Evaluate for all children? 的用法),比较神奇,没有用到过。

2.IF条件

  • == 等于,如 1==1 或 ${__jexl3(1==1,)}

  • > 、< 大于 小于,如 2>1,1<2,或 ${__jexl3(2>1,)}

  • >=、<= 大于等于 小于等于,如 2>=1 ,或 ${__jexl3(2>=1,)}

  • !=、!不等于,非,如 "y"!="n",非 则取 != 的反值

  • 多条件可用:|| 或,&& 和,如:2<5 && 2>1,${__jexl3(2<5 && 2>1,)}

3.练习说明

httpbin.org不提供登录/退出机制,目前我们用上述的模拟登录接口.

4.作业场景

4.1测试场景

  • 现在有一个添加用户的接口,将CSV配置文件中所有数据都取出来,并传入添加用户接口中,但是不传入login_name为IDO127的测试数据(注意:不传入某某数据)?
  • 如果只传入CSV数据文件中小于IDO127的测试数据呢?

4.2分析步骤

 - 初始化setUp线程组-->登录接口
- 添加线程组-->逻辑控制器_循环控制器-->添加用户接口(为了方便查看是否提取出来变量,将变量放到名称后面)
- 添加配置元件_CSV数据文件配置
- 添加循环控制器之if控制器进行条件判断
常规操作步骤如下:
1.创建CSV文件,添加测试数据
2.添加CSV配置组件,引入配置文件
3.设置编格式,码相关变量名
4.其他特性配置(特别表明:CSV配置文件中所有的数据,由于不确定CSV配置文件中参数的个数,所以要配合死循环+遇到文件结束时停止线程)

5.示例脚本

结果示例
链接:https://pan.baidu.com/s/1y9lMfgSdEMe-QfeCWCQ2gg 
提取码:d86g

github地址
Day13.逻辑控制器之if控制器和简单控制器

你可能感兴趣的:(Day13.逻辑控制器之if控制器和简单控制器)