MeterSphere BeanShell 前后置脚本如何引用自定义 Jar 包
需求
接口测试中需要对 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);
-
在请求参数中引用变量
-
结果: