jmeter断言-实现自动化测试的基础
断言,人话就是不用通过人为的手段去对请求的响应数据进行校验。
响应断言
添加:线程组——HTTP取样器——断言——响应断言(断言一定是在HTTP请求的子节点下)
相关配置说明
类似于assertEqual(response.json,”success“)
assertEqual :校验的方式
response.json:要校验的部分
success:用来校验的数据
可以在同一个HTTP请求下包含多个响应断言
json断言
-
绝对路径取法
-
相对路径取法如下
$…city -
如响应返回数据为JSONArray
要取第一个user_name,则其json路径为$.data.device_vec[0].user_name,[0]表取第一个
{
“data” : {
“device_vec” : [
{"user_name" : "test1504487508089", }, { "user_name" : "test1504487508089", } ], "total_count" : 2
},
“error_code” : 1,
“message” : “Success”,
“timestamp” : 1504765848
}
正则表达式
“1234百度5678”中,如要取“百度”,则写正则表达式=1234.*?5678
.是通配符,可以代表任意字符(除换行回车)
*代表前面的字符出现0次或者多次
?代表非贪婪匹配,找到左边界后,往右查找匹配右边界,只要有匹配的
匹配规则:找到左边界值后,往右查找有边界,找到最后面的右边界,中间的所有数据都被记录下来
右边界就停止继续查找;再次查找
左边界和右边界
左边界(.*?)右边界:可以提取出想要获取的数据内容
断言持续时间
客户端发送请求,到收到服务器的响应的时间,要求不超过指定的时间。
实际时间,是统计的取样器结果中的load time,如下