断言测试
断言,对结果的判断。如: 响应时间/返回状态码。
JMeter丰富的断言支持
关于Assertion的使用,仅会挑选使用频率较高的进行详细说明。JMeter自带了12种断言方式。

- BeanShell Assertion
- BSF Assertion
- Compare Assertion
- Duration Assertion: 持续时间断言,主要用于响应时间的判断
- HTML Assertion
- JSR223 Assertion
- MD5Hex Assertion
- 
    Response Assertion- 
        Apply to: 判断的范围选择,一般选择Main sample only- Main sample and sub-samples: 主样例和子样例
- Main sample only: 仅主样例
- Sub-samples only: 仅子样例
- JMeter Variable:- JMeter的变量
 
- 
        Response Field to Test: 需要测试的内容,一般选择Text Response/Response Code和Response Header- Text Response: 文件格式的返回内容,不包括返回的信息头
- Document(text): 文档
- URL Sampled: URL样例
- Response Code: 返回的状态码
- Response Message: 返回信息
- Response Header: 返回的信息头
- Ignore Status: 忽略状态码
 
- 
        Pattern Matching Rules: 匹配规则,一般选择Substring- Contains: 包含
- Matches: 匹配
- Equals: 等于
- Substring: 子字符串
- Not: 没有
 
- 
        Patterns to Test:真正需要匹配的测试内容,可通过下方的AddDelete按钮来维护。
 
- 
        
- 
    Size Assertion: 返回内容大小断言,可针对整个响应/响应头/响应数据体/响应信息进行判断
- SMIME Assertion: 主要用于邮件读取时的判断
- XML Assertion: 判断是否返回正确的- XML格式内容
- XML Schema Assertion: 判断响应的内容与目标- XML文件是否一致
- XPath Assertion: 判断返回内容中的- XPath路径
使用断言实例:返回请求Title中包含指定内容 + 返回请求状态码验证
访问http://www.jianshu.com/验证返回信息中是否包含简书
- 正常访问http://www.jianshu.com/查看是否在返回信息中存在简书 
- 使用HTTP Request+Response Assertion+Result Tree 
- 运行测试,查看结果,测试通过 
 
追加对返回状态码的验证,提高测试的准确性
- 添加一个新的Response Assertion 
- 添加Assertion Results,查看所有断言的执行情况 
- 执行测试,查看测试结果 
  