MeterSphere BeanShell 前後置指令碼如何引用自定義 Jar 包
阿新 • • 發佈:2022-12-05
需求
介面測試中需要對 post
請求的 body
引數進行排序後,進行 md5
加密,生成 sign
字串,放入請求體中提交。
思路:
- 在前置指令碼中自動獲取請求引數中的值,
- 進行
sign
加密,生成sign
字串 - 設定為變數
sign
- 在引數中引用:
${sign}
步驟:
-
構建java 包
-
使用maven工具打包
// pom.xml <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>2.0.19</version> </dependency> </dependencies>
- 在metersphere 中專案管理--檔案管理中上傳jar包,並啟用
- 在beanshell中使用:
import org.example.MD5Util; // 匯入 java 類中的 package.類名 import java.util.LinkedHashMap; import java.util.Map; // 自定義引數 Map jsonObject = new LinkedHashMap(); jsonObject.put("version", "${version}"); jsonObject.put("timestamp", "${tmptime}"); // mapToJsonString 為自定義方法,根據業務需要自行修改 json_data = MD5Util.mapToJsonString(jsonObject,"${app_key}"); log.info(json_data); vars.put("json_data", json_data);
-
在請求引數中引用變數
-
結果: