设置变量
Test Plane 中设置变量
常用的变量,比如token值或者ip地址
定义变量
另外一种方式是 添加用户定义的变量。
用户定义的变量可以在不同的线程组中使用。如果测试计划中定义的变量与用户定义的变量,变量名一样,使用 【用户定义的变量】
引用变量
在JMeter 中 通过 ${变量名}
的方式来引用变量。
上下游传参
新建话题成功之后,将话题的id设置为变量,后面收藏话题的时候需要使用到这个话题的id。需要做上下游传参。
在查看结果树 选择 【 JSON Path Tester】
编写json 提取器路径
根据服务器返回的结果。要取 topic_id 对应的值, 表达式为 $.topic_id
- $ 表示整个服务器返回的结果 类似于 postman种 (var jsondata = pm.response.json();)
json提取器提取变量
在 新建主题上 —【右键】—【添加】—【后置处理器】—【JSON提取器】
输入对应的变量名和对应的json路径
提取变量之后,在下游接口中 使用变量
执行查看结果
可以看到能够提取到对应的值。
复杂类型数据 json 提取器
主题首页返回的数据有很多。
需要将 第一个 id 提取出来。
表达式为
$.data[0].id
主题详情中引用这个变量
基本使用
基本使用,使用 $. 的方式来定位元素。
使用的数据如果服务器返回的结果有很多,可以通过指定索引值的方式来做。
- $.subjects[-2].title -2 表示倒数第二个 ,也可以用 -1 表示倒数第一个
- $.subjects[].title 匹配所有,找到所有符合的条件
根据条件过滤
[?(@对应的条件)]
比如查找评分为9.0的电影标题 ```python $.subjects[?(@.rate==’9.0’)].title
比如查找评分大于等于9.0的电影标题
```python
$.subjects[?(@.rate>='9.0')].title
多个条件过滤 && 并且
多个条件之间如果是并且关系 &&
评分大于等于8分 并且 cover_y 的值大于3500 的电影标题
$.subjects[?(@.rate>='8.0' && @.cover_y>3500)].title
多个条件过滤 || 或者
多个条件之间如果是or关系,使用 ||
评分大于等于8分 或者 cover_y 的值大于3500 的电影标题
$.subjects[?(@.rate>='8.0' || @.cover_y>3500)].title
调试取样器
添加调试取样器
在线程组上右键添加
在JMeter 个别版本中
【线程组】—【右键】—【添加】—【取样器】—【Debug Sampler】
运行的时候可以看到对应的变量值。
主要用来进行查看变量是否正确提取到。