美文网首页
Jmeter 通过while Controller循环轮询接口同

Jmeter 通过while Controller循环轮询接口同

作者: 流年逝去sky | 来源:发表于2019-06-18 18:00 被阅读0次

在使用jmeter调用接口时,某些场景需要轮询接口直到接口返回预期的才停止轮询,这种场景在一些异步处理的接口非常常见。如果通过jmeter while controller可以实现这样的目的,但是一旦环境出问题或者其他的原因导致接口一直没有返回预期的结果跳出这个while controller循环,这样会导致线程一直处于运行状态无法自动结束,所以这里在while Controller中的条件可以增加一些轮询次数判断,一旦超过条件中设置的最大轮询次数while controller将不再继续执行。

列举一个场景一个接口提交业务办理请求后,下一个接口去查询处理状态,这个查询状态的接口是异步的。
当status=2时,状态表示处理中,status=5时表示处理成功。按照正常业务流程需要 status=5时,才能正常继续后续的业务流程,这时就用到while controller
1 添加一个test请求,在响应中提取status,BeanShell PostProcessor中添加接口请求次数vars.put("count","1");


image.png
image.png

2 添加while controller,在其中添加test请求 在响应中提取status,BeanShell PostProcessor处理请求次数count+1


image.png
int count1 = Integer.parseInt(vars.get("count"));
vars.put("count",String.valueOf(count1+1));

3 while controller设置循环条件:{__javaScript({status}==2&&${count}<20,)}
表示 status为2(处理中),且请求查询接口小于20次情况下 继续轮询此接口

image.png
轮询成功:
image.png

相关文章

  • Jmeter 通过while Controller循环轮询接口同

    在使用jmeter调用接口时,某些场景需要轮询接口直到接口返回预期的才停止轮询,这种场景在一些异步处理的接口非常常...

  • Jmeter(十五)Logic Controllers 之 wh

    while Controller是控制循环的Controller,条件判断的Controller。先看看官方Dem...

  • Jmeter那点事·While Controller

    对字符串的条件判断语句 ${__javaScript('${orderid}'=='null')}对数字的条件判断...

  • 列表的遍历与运算

    列表的遍历 列表的遍历一般通过while或for循环实现。 1. 通过while循环遍历列表 通过while循环变...

  • Python3 循环

    Python中的循环语句有 for 和 while。 while循环 Python中while语句的一般形式: 同...

  • shell-while循环

    1、while循环语法格式 while 与 for 不同for 是通过次数来做循环,而while循环是看条件的正...

  • Jmeter控制器-----while controller

    情况一:当while controller的参数为空时,此时其子节点下最后一个节点运行失败,才会停止;否则,会一直...

  • js获取元素

    通过标签获取元素 循环语句 循环语句:通过循环语句可以反复的执行一段代码多次 while循环 语法:while(条...

  • 停止子线程的问题——stop()方法慎用

    在项目中由于在线程中需要使用while循环进行轮询操作,当切换网络是需要重新创建该线程,为了避免轮询时间错乱需要判...

  • 循环语句

    通过循环语句可以反复的执行一段代码多次 while循环- 语法:while(条件表达式){语句...}while语...

网友评论

      本文标题:Jmeter 通过while Controller循环轮询接口同

      本文链接:https://www.haomeiwen.com/subject/oskqqctx.html