我想查看我的“实际”与“预期”断言的确切区别。有没有办法在JMeter中做到这一点?
琐碎的例子(我需要的是许多数据行):
预期回应(断言):@Query("select o from Organization o join o.users u on u = ?1")
List<Organization> findAllOrganizationsByUser(User user);
实际回复:"apple banana orange"
在上面我正在寻找某种差异,显示预期与实际的具体不同之处。 (实际响应中的“梨”,预期“香蕉”)
现在正在进行文字回复 - &gt;子串断言失败,jmeter让我知道它失败并给我整个预期/实际的字符串。我基本上是在文本块中寻找具体区别的特定差异。
答案 0 :(得分:1)
由于您的问题非常普遍,因此很难准确说明哪些内容有效。
在很多情况下响应断言有多个条件,RegEx可以为您提供所需的输出。例如,您的示例可以表示为3个条件:
(虽然这个RegEx有效,但我确信它可以改进,但你明白了)
因此,这个断言会给你一个更精确的输出,例如对于输入apple pear orange
,失败将是:
预期匹配的消息/ ^ [^] + banana。* /
当您有一堆独立的验证时,这种方法很好,因为每个验证都要获得结果。但是,它会在第一次失败时停止,如果你有200次验证,那么编码将变得不可行。
更强大的方法是使用 BeanShell Assertion ,您可以使用您的示例编写任何规则和输出的代码:
例如输入apple pear orange
,失败的原因是:
断言失败消息:2:香蕉不匹配梨
答案 1 :(得分:0)
您可以将正则表达式添加为后处理器。添加默认值为NOT_FOUND变量水果
使用断言在水果上添加Jmeter变量的响应断言。