在我们日常测试过程中,有时会碰到 GET 类型的接口请求参数是中文或者特殊字符的情况,使用 MeterSphere 去测试该类接口时会提示: Non HTTP response code: java.net.URISyntaxException ,在接口的 Query 参数中设置编码一样会提示错误信息, 以下我来介绍下解决该种问题的详细步骤:
第一步:添加前置脚本转码并存储参数
在被测接口中添加前置脚本,将中文或者特殊字符用代码转成 URL 编码,并将转码后的参数存储到变量中。
前置脚本代码如下;
import java.net.URLDecoder;
import java.net.URLEncoder;
String name = "你好";
name = URLEncoder.encode(strTest, "UTF-8");//转码
vars.put("newName", "name");
第二步:接口请求中引入存储参数
在接口请求参数里引用第一步中转码后存储的参数。
第三步:接口调试完成转换
执行调试进行调试,查看结果已经完成了转换。