全部產品
Search
文件中心

Performance Testing Service:系統函數及字串如何組合嵌套使用?

更新時間:Feb 08, 2025

本文介紹系統函數及字串如何組合嵌套使用。

如果參數化的部分(即等號右側)需要系統函數搭配字串或者另一個系統函數,規則是直接拼接即可,不需要額外的串連字元。具體樣本如下:

  • 參數化的部分需要系統函數(${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")}