1. 程式人生 > 其它 >MeterSphere BeanShell 前後置指令碼如何引用自定義 Jar 包

MeterSphere BeanShell 前後置指令碼如何引用自定義 Jar 包

需求

介面測試中需要對 post 請求的 body 引數進行排序後,進行 md5 加密,生成 sign 字串,放入請求體中提交。

思路:

  1. 在前置指令碼中自動獲取請求引數中的值,
  2. 進行 sign 加密,生成 sign 字串
  3. 設定為變數 sign
  4. 在引數中引用: ${sign}

步驟:

  1. 構建java 包

  2. 使用maven工具打包

// pom.xml
 <dependencies>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.19</version>
        </dependency>
        
    </dependencies>
  1. 在metersphere 中專案管理--檔案管理中上傳jar包,並啟用
  2. 在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);


  1. 在請求引數中引用變數

  2. 結果: