用途:对上一个请求返回的信息,做字符串,数据包大小,HTML,XML,图片等做判断,确保返回的信息的准确性
响应断言和持续断言应该用得比较多,一个测试请求返回的页面是否正确,另一个测试服务器的响应时间。
断言的使用方法:
step_1:在你选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同)。配置好响应的检查内容(根据断言情况而定,有的断言控制面板不需要添加任何内容,如XML Assertion)。
step_2:添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言。对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称;如果失败,则除了请求的名称外,还会有一行失败的原因。(不同类型的断言,结果不同。)
注意:一个Sampler可以添加多个断言,根据你的检查需求来添加相应的断言,当Sampler下所有的断言都通过了,那么才算request成功。
下面简单说一下几种常用的断言
1. ResponseAssertion(响应断言):适用于端盘返回的内容中的内容,控制面板截图如下:
位置1:名称、注释
位置2:要测试的相应字段,即要检查的项
位置3:模式匹配规则
包括:返回结果包括你指定的内容
Equls:返回的结果与指定的结果一致
Substring:返回结果是指定结果的字串
否:不进行匹配
位置4:要测试的模块,即填写你指定的结果,可填写多个,如图中就是希望返回文本中包含有2个指定的字符串,只有当同时包含了这2个串,这个断言才算通过,否则,算失败。)按钮【添加】、【删除】是进行指定内容的管理
2. SizeAssertion (Size 断言):用于判断服务器的响应时间,控制面板截图如下:
位置1:名称、注释
位置2:指定大小(单位:字节)与比较类型,返回内容的大小、比较类型、指定字节大小的
比较时的摆放顺序是:【返回内容的大小】【比较类型】【指定字节大小】,如果这个比较结果通过,则断言通过,如图,
如果返回内容的大小大于10个字节,则断言通过,否则失败。
3. DurationAssersion用于判断服务器的响应时间,控制面板截图如下:
位置1:名称、注释
位置2:响应时间设置(单位:毫秒),如果响应时间大于设置的响应时间,则断言失败,否则成功!(等于的情况不好设置,暂不知道具体情况如何)
4. HTML Assertion(HTML断言):用于检查返回的内容,格式是否符合指定格式的相关标准,具体见下面说明
位置1:名称、注释
位置2:Tidy Settings,Doctype有auto、omit、strict、loose(这里各设置代表什么意思暂不太了解)
位置3:格式类型,即你按那种格式来检查返回内容,html or xhtml or xml?
位置4:能接受的最大值设置,Error threshold:最大可以接受的错误数;Warning threshold:最大可以接受的警告数。如果勾选“Error only”这忽略Warning,只对Error作统计检查。如果对返回内容的检查结果不超过指定结果,则断言通过,否则失败。
补充:断言中可以添加多个断言一起判断,断言中也可以使用参数化方法,进行动态判断。
实例:http://www.cnblogs.com/zhuque/archive/2012/11/14/2769562.html