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. 结果:

posted @ 2022-12-05 09:58  Evies  阅读(1493)  评论(0编辑  收藏  举报