首页 > 编程知识 正文

jmeter怎么读(jmeter控制接口顺序)

时间:2023-05-04 07:30:11 阅读:1079 作者:3539

简介

Jmeter中有很多逻辑控制器,可以控制请求的执行顺序和逻辑。本文详细介绍了Jmeter中常见的逻辑控制器,并通过实例让大家了解逻辑控制器的功能。

代码的逻辑分支通常包括:

条件中频

多条件选择开关

循环进行/进行

这些逻辑控制可以分别由Jmeter的中频控制器、开关支路控制器、While环路控制器、ForEach环路控制器和环路控制器来实现。

中频控制器

在实践中,当使用Jmeter进行接口测试或性能测试时,有时需要根据不同的条件进行不同的操作。为了解决这个问题,Jmeter提供了一个中频控制器。优秀的Lily,IF控制器在代码中实现IF的功能,通过判断表达式的真/假来判断是否执行相应的操作。

示例:确定用户角色是否为测试人员,如果是,执行百度搜索功能。

创建一个新的“配置组件-用户定义变量”来模拟脚本运行期间生成的变量角色,并将该值指定为tester。

新建一个if控制器,通过表达式指定if的判断条件。Jmeter的If控制器支持__jexl3或groovy语言。在Jmeter的if控制器中填充表达式时,不能直接编写表达式语言。相反,您应该使用Jmeter的函数生成器来生成指定语言的表达式。

在IF控制器下新建一个对应的操作步骤,在这里发起百度的一个Http请求;在实践中,每个人都可以根据业务流程在中频控制器中编写操作,当中频条件为真时,就会执行这些步骤。当中频条件为假时,中频控制器内的步骤被跳过。

点击脚本,通过查看结果树,可以发现IF控制器中的‘请求百度’已经执行。

将用户定义的变量改为其他值,使IF条件表达式的值为false,然后运行脚本,会发现IF控制器中的‘Request Baidu’语句不会被执行。

开关控制器

Swicth控制器用编程语言实现Switch功能,通过动态值选择要执行的语句。与if控制器的真/假判断相比,它指定语句按顺序值运行(从0开始)。

示例:根据不同的输入值调用不同的搜索引擎(百度、必应、搜狗)进行查询。

创建一个新的“配置组件-用户定义变量”来模拟脚本运行期间生成的变量索引,并指定索引=0。

ae7?from=pc">

新建Switch控制器,并在Switch控制器下新建三个Http请求,分别代表请求baidu,请求bing,请求sougou

运行脚本,察看结果树,会发现此时会运行baidu; 依次变更index的值为1和2,会相应的运行bing和sougou。通过本示例可以看到Switch控制器会读取index变量,并根据Switch控制器下的请求顺序执行相应的操作。

While控制器

While控制器实现了编程语言中的循环控制功能,当表达式的值为true时会一直执行循环,直到表达式不满足特定的条件,可以应用到需要根据程序运行状态来判定循环是否继续的场景。

示例:初始值为1,每运行一次加1,直到值大于3时停止循环

新建"配置元件->用户定义的变量"定义初始变量的值,start=1

新建循环控制器,指定循环运行条件,此处和IF控制器的表达式类似,通过groovy或者是javascript语言来申明表达式

新建BeanshellSampler,通过代码实现每运行一次,start值加1。因为vars.get的值和vars.put的值都是String类型,此处需要进行String和int类型的转换

运行脚本,通过查看结果树可以发现BeanshellSampler一共被调用了2次,满足While控制器中定义的条件

循环控制器

Jmeter 提供循环控制器可以实现循环调用指定次数的逻辑操作

示例:发起5次baidu调用请求

运行脚本,可以从查看结果树中看到,baidu被调用了5次

For Each控制器

Jmeter ForEach控制器可以实现”条件"循环调用,比循环控制器的功能的更强大,它可以读取一组变量,然后根据不同的变量值去循环发起请求

示例:循环删除查询到的数据

调用上游接口,查询数据

提取查询结果,获取查询到的一组用户id数据

新建ForEach控制器,指定输入变量为上游接口提取的变量,以及输出变量名

在ForEach控制器中通过输出的变量去循环删除查询到的所有用户

运行脚本,查看结果,可以看到成功的删除了查询到的数据

结合上述几种逻辑控制器,可以使我们的脚本更灵活,实现运行时的动态调用;Jmeter还提供了其他逻辑控制器用于脚本的组织和数据的搜集,详情可以参考Jmeter官网:

http://jmeter.apache.org/usermanual/component_reference.html#logic_controllers

作 者:Testfan Kitty

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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。