全局变量,线程组变量
也就是说,变量名只能存在一个。 类似与Postman中 Global 变量。
线程组设置变量
在线程组中添加 【用户定义的变量】,在用户定义的变量中设置的变量,只能在当前线程组中使用,类似Postman中定义 环境变量。
企业微信的接口中, 前缀 都一样
运行之后,可以看到执行的结果中,使用的变量是 线程组中定义的用户变量,没有用 测试计划 中设置的变量。
常问面试题
- jmeter 中设置变量的方式有哪些?
- 与上面方式不同的是:取到的值是动态的。
- 上面两种方式设置的值是固定。
正则表达式提取器
正则表达式提取器与JSON提取器的 最终目的是一样的: 都是为进行上下游传参设置。
下面看个例子:
标记单个消息为已读,前提条件是:必须要有未读的消息。
未读消息的接口:
这两个接口就有上下游传参
创建上游接口
查看服务器返回的结果
里面返回很多数据。
使用Json提取器提取
在查看结果树中,使用json Path Tester 进行查看
对应的json提取器表达式
$.data.hasnot_read_messages[0].id
- [0] 表示的是 第一个未读消息。
{ "data":{ "hasnot_read_messages":[ {"id":"1111111222"}, {"id":"22222333344"} ] } }
使用json提取器, 提起data的值
$.data
data 对应的值是
{ "hasnot_read_messages":[ {"id":"1111111222"}, {"id":"22222333344"} ] }
再次提取 hasnot_read_messages 对应值
$.data.hasnot_read_messages
取到的值为 对应的数组,数组表示多个数据。
[ {"id":"1111111222"}, {"id":"22222333344"} ]
$.data.hasnot_read_messages[0]
取到对应的结果
{"id":"1111111222"}
最后取对应的id值
$.data.hasnot_read_messages[0].id
设置json路径表达式
创建下游接口标记单个消息为已读,通过引用变量的方式。
附件