变量使用规则
如何使用变量
Lim测试平台可以通过添加全局变量步骤、接口步骤中的输出变量以及SQL等方式来定义及输出一个变量,输出的变量都可以通过快捷键Shift + Z 来查看:

可以看到,上图中输出了三个变量,现在我们想使用名为token的变量那我们可以按照${变量名}的形式在参数栏中填写,填写后的值为:${token},示例如下:

当然,变量支持和普通的字符串进行拼接,类似这样:${token} 123
也支持多变量和嵌套变量:
- 多变量:${token}${name}
- 嵌套变量:${${name}}
但在实际使用中,变量很多时候都是一个数组(列表)或者字典,但我们只想使用其中的某个元素值而并非整条数据。
对于这种情况,Lim也有很好的支持:
-
变量为数组,我们只想取其中某个元素: 对于这种情况,我们直接按照 ${变量[下标值]} 的形式输入即可,当然也支持下标值为变量:${变量1[${变量2}]} 如果使用了循环控制器,想要使用循环次数作为下标值也是可以的,Lim默认 i 为循环次数下标值:${变量[i]}
-
变量为多层字典,我们想取某层的值: 例如现在有一个变量名为 dict_var 的变量,它的值如下所示:
{
"name": "曲鸟",
"level1": {
"level2": [
1,
2,
3
]
}
}
我们现在想取其中的 level1 ,那可以这样写 ${dict_var.level1}
因为平台有参数自动识别的功能,会将上面取值转化为字符串,所以我们需要手动将字段类型改为object 并关闭类型自动识别即可:

这样我们就能拿到我们想要的格式的值了。
同理,以上面的 dict_var 变量为例,我们想取 level2 中的第一个值,那我们可以这样写 ${dict_var.level1.level2[0]}
但有时候实际的情况更为复杂,我们想对变量进行切片、计算等操作后再输出,这类操作使用代码是更为方便的,所以Lim也支持 eval 操作,比如我们想对 level2 进行切片(去除第一个元素)后再取它的长度,那么我们可以这样写: eval(len(${dict_var.level1.level2}[1:]))
另外,我们还可以使用代码模式来实现它,甚至是更为复杂的情况,需要依赖包的情况也都能通过代码模式解决:
