测试进入队列以使用JMeter处理的异步POST请求

时间:2014-11-05 22:53:05

标签: api testing asynchronous jmeter

使用Jmeter我试图加载测试异步POST请求。一旦发出请求,mongoDB文档就会被放入工作组服务器队列中进行处理。我不希望我的线程继续前进,直到该队列得到处理。有没有办法等待它的状态完成。

我的主题步骤看起来像这样。

  1. 登录
  2. 创建活动(POST)
  3. 将视频添加到活动(POST)
  4. 处理事件(异步POST)“这是将视频放入队列进行处理的请求,我可以对事件进行GET并查看视频状态为”状态“:”编码“或”状态“:”就绪“。”
  5. 观看视频(GET)
  6. 删除事件(DELETE)
  7. 我尝试在我的线程中添加一个while控制器以继续检查事件状态,并且只有在状态为Ready但是似乎没有工作时才移出,因为它只循环3次然后什么也没做,我可能正在使用但它错了。

    这就是我的while控制器的样子。

    While Controller w/ condition ${__javaScript(${status}!="Ready")}
        GET Event Status
            HTTP Header Manager
            Json Path Extractor for status - $.status
            Constant Timer - 1000
    

    是否有人在异步通话中遇到类似问题?或者通过一些关于如何解决这个问题的想法?

    由于

1 个答案:

答案 0 :(得分:0)

线程组1
Beanshell采样器 - props.put("完成"," FALSE");
HTTP1
HTTP2
....
循环和/或延迟(在活动中获取GET并查看视频的状态,即"状态":"编码"或"状态":"准备"")
IF Controller - " $ {status}" ==" Ready"
        Beanshell Sampler - props.put(" finish"," TRUE");

While Controller - $ {__ BeanShell(props.get(" finish")!= null || props.get(" finish")==" TRUE&#34 ;)}                  观看视频(GET)
                删除事件(删除)

希望这会有所帮助。