一、Jmeter参数化
1、使用用户自定义变量
用户定义的变量,引用方式:${定义参数名称};例如定义一个变量IP,使用它的时候用
${IP}.
添加一个 User Defined Variables. 选中Thread Group: 右键 Add -> Config Element -> User Defined Variables
添加一个变量ip
在http request中使用这个变量
高端配置:
A、 线程组-配置原件-用户自动化变量,添加IP变量,设置ip参数值
B、 线程组-配置原件-添加http请求默认值,在服务器名称或IP字段中引用ip变量,${ip}
C、 线程组http请求默认值以下的所有http请求中web服务器名称或ip字段可不填写
2、函数生成器
A、打开函数助手对话框(插件)
B、选择调用的函数,如-random、-time等
C、配置参数,点生成生成对应函数表达式
D、将函数表达式放入对应的参数中调用
随机数-random
在请求中使用参数
时间生成函数-time
3、从文件中读取
路径:填写绝对路径,如果放在bin目录下可以只写文件名
参数化名称:可以填写多个参数,在文本中以定义的符号分隔为多列
二、 断言
请求是否成功,通过添加断言,将返回内容与设置的内容进行比较,相同则返回成功,不同则失败。
选择HTTP Request, 右键 Add-> Assertions -> Response Assertion. 添加 Patterns To Test
添加一个Assetion Results 用来查看Assertion执行的结果.
选中Thread Group 右键 Add -> Listener -> Assertion Results.
运行后, 如果HTTP Response中没有包含期待的字符串。 那么test 就会Fail
三、 关联
关联, 就是第二个Requst, 使用第一个Request中的数据
接口测试返回的数据是json串,使用jmeter的插件json path extractor,通过key来获取value值。
通过登录接口获取sign.返回json如下:
{
"error_code": 0,
"login_info": {
"login_time": "20190325171103",
"sign": "37a935ee85ba20ab968040f8f87eafb6",
"userId": 16222
}
}
取值如下:
通过学生信息接口获取id,返回json如下:
{
"error_code": 0,
"stu_info": [
{
"id": 10056,
"name": "xx17",
"sex": "女",
"age": 28,
"addr": "上海市徐汇区",
"grade": "摩羯座",
"phone": "15911111111",
"gold": 2100
}
]
}
取值如下:
在金币充值接口中使用保存的值
在http信息头管理器中使用保存的值