jmeter的参数化、关联、断言
文章目录
前言
本篇主要介绍接口测试工具jmeter的参数化、关联、断言
学会了这些就能完全胜任工作中的接口测试任务。
提示:以下是本篇文章正文内容,下面案例可供参考
一、jmeter的参数化
1.配置元件:用户定义的变量
针对接口请求里面都有的相同的变量,进行参数化引用,便于修改,引用方式${变量名};
用户定义的变量填写变量名和值;
接口请求里面引用变量,引用方式${变量名};
2.配置元件:CSV Data Set Config
如果要批量操作可以用CSV
先准备一个.TXT格式文档,或者excel记住保存为.CSV格式的,或者.dat格式的文件;
多个参数用逗号隔开;
添加CSV数据文件设置
文件名:设置文件路径;
文件编码:如有中文用utf-8;
变量名:设置被变量的名称,多个用逗号隔开;
忽略首行:如果你的数据是从第二行开始的,就需要忽略首行;
在线程组里面修改线程数,有多少组数据就修改为多少,设置多了会再次循环;
3.函数助手—random string函数进行参数化
将我们的手机号后8位进行随机生成;
字符串长度:设置为8;
选择范围:0123456789;
变量名:可填可不填
点击生成:得到随机字符串;
复制这个字符串
粘贴到我们手机号后面即可;
二、关联
关联概念:两个请求,上一个请求的响应结果,作为下一个请求的参数传入;
关联运用场景:下一个请求的参数值是变化的;
1.正则表达式(登录和充值的关联为token)
从登录的响应结果写一个正则表达式获取到token;
添加一个正则表达式提取器
要检查的响应字段:我们是从响应体里面获的token所以选择主体;
引用名称:设置获取的字段的变量名;
正则表达式:将我们的正则表达式填上;
模板:
1
1
1表示引用组1,
2
2
2表示引用组2,
0
0
0表示引用所有,我们这里只获取了一组,用
1
1
1即可;
匹配数字:-1代表全部,0表示随机,1表示第一个,2表示第二个
缺省值:如正则表达式没提取到则使用这个默认值,可不写;
添加一个调制后置处理程序,看下我们的正则表达式提取器是否提取到了token
给我们的充值添加一个信息头管理器,将获取到的token填在里面Bearer ${token}(因为使用时前面有个bearer,我们需要处理一下,直接在token前面加上就好了);
这个时候设置完毕,点击run,查看充值成功;
3.Json提取器
添加一个json提取器,因为登录的响应结果是json格式的,用json提取器会比正则表达式提取器更方便;
填写json提取器参数
要检查的响应字段:我们是从响应体里面获的token所以选择主体;
引用名称:设置获取的字段的变量名;
json表达式:将我们的json表达式填上;
匹配数字:-1代表全部,0表示随机,1表示第一个,2表示第二个
缺省值:如正则表达式没提取到则使用这个默认值,可不写;
给我们的充值添加一个信息头管理器,将获取到的token填在里面Bearer ${token},(因为使用时前面有个bearer,我们需要处理一下,直接在token前面加上就好了);
这个时候设置完毕,点击run,查看充值成功;
三、断言
设置一个响应断言,跟你的响应结果匹配,如果匹配上了则通过,如果没匹配上则表示不通过,帮助我们判断接口是否正常;
添加一个响应断言,填写测试模式,以及自定义失败消息;
如果匹配"code":0,“msg”:"OK"通过就不会报错点,如下图:
修改一下匹配内容,如果匹配"code":0,“msg”:"success"不通过就不会报错点,如下图:
总结
本篇主要介绍接口测试工具jmeter的参数化、关联、断言
学会了这些就能完全胜任工作中的接口测试任务,希望能帮到你。
end