如何在jmeter中获取当前失败的URL的父URL?

时间:2018-11-14 07:02:45

标签: jmeter jmeter-4.0

我正在尝试获取当前失败请求的父URL(例如,考虑一个旅行网站,父URL将是搜索条件,而当前URL正在选择航班页面)。我们该怎么做。网址和beanshell失败后的if控制器,以便它获取所有失败航班请求的父网址。但是正在发生的是,如果当前的飞行请求失败了,那么如果有控制器,它将不会转到下一个。执行停止。有人可以用更好的方法指导我吗?

1 个答案:

答案 0 :(得分:0)

  1. 首先忘记Beanshell,you should be using JSR223 Test Elements and Groovy language for scripting至少从JMeter 3.1版开始(对于较早的版本,也建议这样做,但是Groovy引擎未包含在JMeter发行版中)
  2. JSR223 PostProcessor添加为第二个请求的子项
  3. 将以下代码放入“脚本”区域:

    if (!prev.isSuccessful()) {
        log.info('Previous sampler name: ' + ctx.getPreviousSampler().getName())
        log.info('Previous sampler URL: ' + ctx.getPreviousSampler().getUrl().toString())
    }
    
  4. 就是这样,您应该在Log Viewer面板和 jmeter.log 文件

    中看到前一个采样器的名称及其URL。

    enter image description here

    您可以将网址保存到JMeter Variable中,例如:

    vars.put('url', ctx.getPreviousSampler().getUrl().toString())
    

    完成后,您将可以在需要时访问${url}值。

参考文献:

有关使用的功能的描述,请参见上述类的JavaDoc,有关JMeter中Groovy脚本的更多信息,请参见Apache Groovy - Why and How You Should Use It文章。