5.JMeter断言

171 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第35天,点击查看活动详情

2 JMeter

2.5 JMeter断言

作用:让脚本自动化执行的过程中,能够自动的判断执行结果是否正确,需要添加断言

  • 响应断言
  • JSON断言
  • 持续时间断言(Duration Assertion)

2.5.1 响应断言

添加方式:测试计划->线程组->HTTP请求->(右键添加)断言->响应断言

场景样例:

请求:

https://www.baidu.com

检查:让程序检查响应数据中是否包含"百度一下,你就知道"

操作步骤:

1.添加线程组

2.添加HTTP请求

3.添加响应断言

4.添加断言结果

5.添加查看结果树

配置:

  • 测试字段:需要检查的字段
  • 模式匹配规则:需要使用什么规则来进行检查

    • 且、或者、非
  • 测试模式:需要校验的值

    • 填写多个值

image.png

image.png

2.5.2 JSON断言

适用于返回的HTTP响应为JSON格式

添加:线程组--HTTP请求--断言--JSON断言

场景样例:

请求:

http://www.weather.com.cn/data/sk/101010100.html

检查:让程序检查响应的JSON数据中,city对应的内容是否为“北京”

操作步骤

1.添加线程组

2.添加HTTP请求

3.添加JSON断言

4.添加断言结果

5.添加查看结果树

配置:

  • JSON PATH: $weatherinfo.city
  • 勾选“Additonal assert value”
  • 在expected value 里填写期望值

image.png

image.png

image.png

当期望值没有时

image.png

image.png

2.5.3 断言持续时间

适用于性能测试时候,检查HTTP请求的响应时间是否超过预期值

添加:线程组--HTTP请求--断言--断言持续时间

场景样例:

请求:

https://www.jd.com

检查:让程序检查响应时间是否大于500毫秒

操作步骤

1.添加线程组

2.添加HTTP请求

3.添加断言持续时间

4.添加断言结果

5.添加查看结果树

配置:预期时间

image.png

重复访问时间会少

image.png

当设置响应时间20毫秒

image.png

3 使用问题

3.1 jmeter响应中出现乱码时

image.png

如果响应数据中中文显示乱码可以修改 \bin jmeter.properties配置文件

#sampleresult.default.encoding=ISO-8859-1

改为

sampleresult.default.encoding=UTF-8 重启jmeter

image.png