eval函数返字符串表达式的结果。就可以在一个变量中插入一个有值的字符串表达式或函数。
例如,给定以下变量:
- name=Smith
- column=age
- table=birthdays
- SQL=select ${column} from ${table} where name='${name}'
then ${__eval(${SQL})} will evaluate as "select age from birthdays where name='Smith'".
这可以与CSV数据集一起使用,例如,在数据文件中直接使用函数或者前文提取的变量。很方便的实现了数据驱动,脚本缩减。
![](https://img2018.cnblogs.com/blog/1153482/201811/1153482-20181112133328124-614111546.png)
原来一个注册,因为用到的参数都是随机生成,所以不方便写入csv参数化文件里,只能出现这种多个if控制器+请求样本的脚本设计来跑这些用例。这样脚本就会很繁琐,改动也不方便。
使用eval函数以后就可以很轻松的就把这些脚本合并到一起。
![](https://img2018.cnblogs.com/blog/1153482/201811/1153482-20181112133436870-747271135.png)
这样就可以直接在参数化文件里写上要用的函数或者变量。
最终注册只需要一个请求脚本,如下。(当然用csv文件类型会更好看些)
![](https://img2018.cnblogs.com/blog/1153482/201811/1153482-20181112133551668-582694313.png)