Jmeter断言结果监听器作为变量

Jmeter assertion result listener as variable

我的 JMeter 测试计划如下所示:

HTTP Request
- Assertion
HTTP Request
- Assertion
HTTP Request
- Assertion
Assertion Result Listener

我想将侦听器的所有断言结果定义为一个变量,并在对 JIRA 的 POST 调用中使用该变量,因此描述包含所有断言的概述以及每个断言的失败和通过断言。

Assertion Result Listener

我知道我可以将断言结果保存到文件并上传,但我需要断言结果作为 JIRA 中的文本。我该怎么做?

编辑:这是一个功能测试套件。

  1. JSR223 Listener 添加到您的线程组
  2. 将以下代码放入"Script"区

    def result = vars.get('result')
    StringBuilder builder = new StringBuilder()
    if (result != null) {
        builder.append(result).append(System.getProperty('line.separator'))
    }
    
    
    prev.getAssertionResults().each { assertionResult ->
        builder.append(prev.getSampleLabel()).append(System.getProperty('line.separator'))
        if (assertionResult.isFailure()) {
            builder.append('\t').append(assertionResult.getFailureMessage()).append(System.getProperty('line.separator'))
        }
    }
    vars.put('result', builder.toString())
    props.put('result', builder.toString())
    
  3. tearDown Thread Group 添加到您的测试计划

  4. 使用__P() function将生成的包含断言结果的字符串引用为${__P(result,)}

演示:

有关 Groovy 在 JMeter 中编写脚本的更多信息,请参阅 Apache Groovy - Why and How You Should Use It 文章。