JMeter响应断言差异

时间:2017-07-21 21:30:15

标签: jmeter

我想查看我的“实际”与“预期”断言的确切区别。有没有办法在JMeter中做到这一点?

琐碎的例子(我需要的是许多数据行):

预期回应(断言):@Query("select o from Organization o join o.users u on u = ?1") List<Organization> findAllOrganizationsByUser(User user);

实际回复:"apple banana orange"

在上面我正在寻找某种差异,显示预期与实际的具体不同之处。 (实际响应中的“梨”,预期“香蕉”)

现在正在进行文字回复 - &gt;子串断言失败,jmeter让我知道它失败并给我整个预期/实际的字符串。我基本上是在文本块中寻找具体区别的特定差异。

2 个答案:

答案 0 :(得分:1)

由于您的问题非常普遍,因此很难准确说明哪些内容有效。

  1. 在很多情况下响应断言有多个条件,RegEx可以为您提供所需的输出。例如,您的示例可以表示为3个条件:

    enter image description here

    (虽然这个RegEx有效,但我确信它可以改进,但你明白了)

    因此,这个断言会给你一个更精确的输出,例如对于输入apple pear orange,失败将是:

      

    预期匹配的消息/ ^ [^] + banana。* /

    当您有一堆独立的验证时,这种方法很好,因为每个验证都要获得结果。但是,它会在第一次失败时停止,如果你有200次验证,那么编码将变得不可行。

  2. 更强大的方法是使用 BeanShell Assertion ,您可以使用您的示例编写任何规则和输出的代码:

    enter image description here

    例如输入apple pear orange,失败的原因是:

      

    断言失败消息:2:香蕉不匹配梨

答案 1 :(得分:0)

您可以将正则表达式添加为后处理器。添加默认值为NOT_FOUND变量水果

使用断言在水果上添加Jmeter变量的响应断言。