Jmeter学习笔记二_接口测试(参数化、断言、关联)
一、参数化
1、从文件读取
事先写好一些数据,然后从文件中读取,这样的话,比如说登录接口,账号和密码都是我们事先注册好的。通过文件参数化可以实现多个账户登录的测试。
在Parameters的值中用${username}、${pwd}来获取文件中的值
添加配置元件,选择CSV Data Set Config。
默认用逗号分隔多个变量。
2、用户定义的变量
这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化。
右键http请求,添加配置元件,选择用户定义的变量。
将IP的变量名设为host。
在http请求中IP地址栏填写${host}即可。
3、函数助手
函数生成器可以参照一定的规则生成数据,这样的比如说生成一些随机数。
点击菜单中的选项,选择函数助手对话框,在“选择一个功能”中选择需要的函数。
1)__random,生成随机数。
填入随机范围,点击生成,即可复制生成的参数名
在用户名后添加随机参数,生成username的值。
2)__time ,事件函数
yyyyMMddHHmmss 格式 年月日时分秒
输入时间格式,点击生成,生成所需格式的时间参数名。
在username后添加时间参数,生成带有当前时间的用户名。
TIPS:
如果参数为时间戳,那公式为:
${__time(,)} : 默认该公式精确到毫秒级别, 13位数
${__time(/1000,)} : 该公式精确到秒级别, 10位数
但是Jmeter不支持${__time(*1000,)} 这种写法,如果想表示16位的微秒可以${__time(,)}000这么表达
二、断言
断言是自动帮你检查结果的。
右键点击http请求,点击断言,选择响应断言。
在断言中选择要测试的模式,其中“包括”和“匹配”支持正则表达式,“Equals”和“Substring”不支持正则表达式。
输入检查内容,此处为响应结果不包括200,则断言报错。
当断言结果报错时,仅仅是断言不成功,不代表http请求不成功。此时登录成功,只是登录信息里不包含断言
三、关联
关联就是把上一个请求返回的数据,拿过来放到下个请求里面使用。
给其他请求使用的时候,直接使用${name}即可,name就是你关联的时候设置的变量名。
jsonpath插件,需要安装
http://www.nnzhp.cn/archives/322
右键http请求,点击后置处理器,选择Json Extrator。
输入关联变量名称,json串中的值$.login_info.sign,$后面必须有个点(英文)
在后面的http请求中获取关联变量的值,${sign}
至此关联完成。