26.Jmeter基础---if控制器举例说明

目录

一、IF 控制器的运用场景

二、举例说明

(一)添加If控制器”

(二)函数助手使用

(三)运行效果


一、IF 控制器的运用场景

   在做接口测试过程中,部分场景的接口是否请求取决于上一个接口的返回结果

   比如:现在一些网站,用户去登录的时候,先走登录的流程,如果是网站用户就登录成功;如果不是网站的用户,就自动注册,再登录

   所以,我们如果想测试这个场景,就需要先调用登录的接口,根据接口返回,决定是否调用注册的接口,此时就需要用到“IF控制器”

二、举例说明

 写一个简单的例子做说明

26.Jmeter基础---if控制器举例说明_第1张图片

(一)添加If控制器”

    线程组——添加——逻辑控制器——If控制器

26.Jmeter基础---if控制器举例说明_第2张图片

        1):为了提高性能,建议选择“Interpret Condition as Variable Expression”并使用_jexl3或_groovy的值为true或false。  

       ${SJMeterThread.last sample ok} 可用于测试最后一个采样器是否成功

        2):表达式(必须计算为true或false)   

        3):这个选项被选中,将不会使用js解析;条件表达式的值必须是true(忽略大小写)。

       建议勾选并使用这种方式,如果使用js模式,会有性能损耗。

        4):是否每次执行子取样器的时候,都执行一次if条件判断

(二)函数助手使用

    选项——函数助手对话框——选择“__jexl3

26.Jmeter基础---if控制器举例说明_第3张图片

 ${code} == 30100007

 ${code} 是登录接口返回值中获取到的内容,30100007是开发定义的未注册用户状态码

 如果:登录接口返回的code如果等于30100007,则${__jexl3(${code} == 30100007,)}  的值就为true

 如果:登录接口返回的code如果不等于30100007,则${__jexl3(${code} == 30100007,)}  的值就为false

(三)运行效果

26.Jmeter基础---if控制器举例说明_第4张图片

 

26.Jmeter基础---if控制器举例说明_第5张图片

你可能感兴趣的:(测试进阶---jmeter,测试工程师)