PS:感觉说的还是比较详细的,所以记录下来了
通过响应断言控制面板,测试人员可以添加模式字符串与响应的各个域进行比较。模式字符串包括:
*contains,matches--perl 5风格的正则表达式。
*equals,substring--纯文本,区分大小写。
测试人员还可以选择字符串是否预期匹配整个响应,或者仅预期响应包含模式。
需要注意的是,模式字符串不应该包括封闭的分隔符,例如:Price:\d+而非/Price:\d+/。
在默认情况下,模式是多行模式,这意味着“.”元字符不匹配换行符。
在多行模式下,“^”和“$”匹配字符串内任何地方、任何行的开始或结束--不只是整个字符串的开始和结尾。注意\s匹配新行。大小写也很重要。为了覆盖这些设置,测试人员可以使用extended regular expression syntax。例如:
*(?i)--忽略大小写
*(?s)--将目标作为单行,例如“.”匹配单行。
*(?is)--前两者都有。
这些可以在表达式中的任何地方使用,并且一直有效,直到被覆盖。例如:
*(?i)apple(?-i)pie 匹配“ApPLe Pie”,而非“ApPLe pIe”。
*(?s)....
参数:
Apply to
Main sample and sub-samples:断言应用于主采样器和子采样器。
Main sample only:断言仅应用于主采样器。
Sub-samples only:断言仅应用于子采样器。
Jmeter Variable:断言将被施加到命名变量的内容。
要测试的响应字段:
响应文本:来自服务器的响应文本,例如,包体不包含任何HTTP头。
Document(Text):通过Apache Tika,从各种类型的文档中提取文本。
URL样本:
响应代码:例如,200、404等。
响应信息:例如,ok等。
Response Headers:包含Set-Cookie头(如果存在)。
Ignore Status:指示Jmeter设置状态为初始成功。采样器整体成功与否,取决于断言结果和存在的响应状态。当Ignore status复选项被选中后,则在执行断言之前响应状态被强制设为成功。状态为4xx和5xx范围内的HTTP响应,通常被认为不成功。在做更多检查前,Ignore status复选项可以用来将状态置为成功。注意,这将清楚任何以前断言失败的影响,所以要确保只在第一个断言上设置它。
模式匹配规则:
包括:如果文本包含正则表达式模式则为true。
匹配:如果整个文本匹配正则表达式模式则为true。
Equals:如果整个文本等同于模式字符串(大小写敏感)则为true。
Substring:如果文本包含模式字符串(大小写敏感)则为true。
否:用于反转检查结果。
Equals和Substring是普通的字符串,而不是正则表达式。NOT可以被选中,用于反转检查结果。
要测试的模式
被测试的模式列表。每个模式将被独立测试。如果一个模式失败了,那么更多模式将不会被检查。初始化一个多模式的断言和初始化多个断言时,因为每个断言只有一个模式,所以这两者没有区别(嘉定其他选项相同)。但是,当选中ignore status复选项后,就有取消先前断言失败的效果,因此请确保ignore status复选项只用于第一个断言。
模式是一个perl 5样式的正则表达式,没有包含括号。