这里核心的部分就是代码行"AND ${__V(smt_${__Random(1,4,rnd)})} "。"${__Random(1,4,rnd)}"用来生成随机数,取值范围在1到4之间,而"__V(...)"函数帮助我们转义"smt_${__Random(1,4,rnd)}"生成的内容,很类似于JavaScript中的"eval"函数。
例如"${__Random(1,4,rnd)}"生成随机数为1,则"smt_${__Random(1,4,rnd)}"对应的内容为"smt_1","__V"将获取数组变量"smt"中的第一个元素,于是生成的SQL语句如下:
这里我们可以清楚的看到所执行的SQL语句。
后记
本例中我们使用了JMeter附带的函数"__split"和"__V","__Random"等等,文章对于这些函数的描述可能不够完整,亦可能不够准确,更多详尽的解释,大家可以参考JMeter官方文档。
相关阅读: