本文介绍系统函数及字符串如何组合嵌套使用。
如果参数化的部分(即等号右侧)需要系统函数搭配字符串或者另一个系统函数,规则是直接拼接即可,不需要额外的连接字符。具体示例如下:
参数化的部分需要系统函数(${sys.random(1,20)})搭配字符串(abc),且字符串在前,则组合使用方式为
=abc${sys.random(1,20)}
。参数化的部分需要系统函数(${sys.random(1,20)})搭配另一个系统函数(${sys.select("a","b","c")}),则组合使用方式为
=${sys.random(1,20)}${sys.select("a","b","c")}
。
如果系统函数的参数中有单双引号,直接使用单引号,双引号需要在前面再加一个双引号。例如需要给一个字符串做MD5加密(系统函数是${sys.md5("")}
),以字符串包含单引号和双引号来分别举例参数化(等号右侧)写法:
需加密字符串是
leo say 'hi'
时:=${sys.md5("leo say 'hi'")}
需加密字符串是
leo say "hi"
时:=${sys.md5("leo say ""hi""")}
如果系统函数间需要嵌套使用时,不需要额外加双引号,但是函数的参数部分用到了文件参数、自定义参数(如通过字符串定义的和用系统函数定义的)或有拼接的情况才需要加双引号。参考以下例子:
substring的字符串是直接拼接的情况,需要带双引号:
=${sys.substring("abc${sys.random(1,20)}", 0, 1)}
substring的字符串是函数,所以不需要双引号,但是嵌套的MD5里面有拼接就需要双引号:
=${sys.substring(${sys.md5("${input1}${input2}")},2,5)}
需要给来源于数据文件的参数num2做一个base64的时候,需要加个双引号:
=${sys.base64("${num2}")}
更复杂的一种情况,函数的参数是字符串,这个字符串是一个JSON的情况,JSON里也带了文件参数:
需要传入函数中的JSON原文是:{"username":"${username}"} 则函数的嵌套使用如下:
=${sys.select("{""username"":""${username}""}","blue","green")}