JMeter 测试断言
测试结果响应显示:
{"code":"0","msg":"操作成功","data":"F1970FA05A26A850F6711C11E5DDE8760460EE29B2C059110FFAE1FDFF10A53D311FCEF674EC26BE4258E09AF3418993AF1A0F7E047E289E"}
断言 "code":"0"
则
模式匹配规则 包括、匹配、Equals、Substring、否、或者
a、包括:返回结果包括你指定的内容,支持正则匹配
例如:
响应字段为: 响应文本
模式匹配规则:匹配
断言为:1、success 2、[a-z]+
当返回值为:{"msg":"login success."} , 这两个断言都是ok的,返回true
b、匹配:
(1) 相当于 equals 。当返回值固定时,可以返回值做断言,效果和equals相同
(2) 正则匹配 。 用正则表达式匹配返回结果,但必须全部匹配。 即正则表达式必须能匹配整个返回值,而不是返回值的一部分。
例如:
响应字段为: 响应文本
模式匹配规则:匹配
断言为:1、{"msg":"login success."} 2、\{"msg":"[a-z]+ success\."\} , 3、[a-z]+
当返回值为:{"msg":"login success."} ,断言1 2 是ok的, 断言3是false
原因是,断言1 只能用于equals,而断言3 只匹配了返回值部分,而不是全部匹配。
c、Equals : 返回结果与你指定断言完全一致
d、SubString:与 “包括”差不多,都是指返回结果包括你指定的内容,但是subString不支持正则字符串
例如:
响应字段为: 响应文本
模式匹配规则:匹配
断言为:1、success 2、[a-z]+
当返回值为:{"msg":"login success."} , 断言1返回true, 但断言2返回false
e、否:就相当于取反。 如果上面断言结果为true,勾选“否”后,最终断言结果为false。如果上面断言结果为false,勾选“否”后,则最终断言结果为 true。
f、或者:这个我目前还不清楚 我基本不用
失败示例: