Jmeter断言结果侦听器为变量

时间:2018-07-18 09:52:24

标签: jmeter listener assertion

我的JMeter测试计划如下:

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

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

Assertion Result Listener

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

编辑:这是针对功能测试套件的。

1 个答案:

答案 0 :(得分:0)

  1. JSR223 Listener添加到您的线程组
  2. 将以下代码放入“脚本”区域

    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,)}引用包含断言结果的生成字符串

演示:

JMeter Assertion Results into Variable

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