我们在用jmeter做压测的过程中,经常会遇到这样一个场景:登录 — 提取assessToken — 将token作为变量提供给下一个接口使用。那么这时候,提取出来的token是需要转译后才能被识别的。(其他参数比如url需要转译该方法同样适用)
一、发送一个http请求时,在token参数后面,勾选“编码”这个框框即可自动进行转译
image.png二、发送一个websocket请求时,没有自动转译选项,这时候需要我们手动转译。有两种方法:
-
使用jmeter的函数助手中的 _urlencode 函数
第一步:点击tools — 选中“函数助手对话框” — 找到“_urlencode”函数并选中 — 在值的输入框输入提取的变量名称,点击生成 — 复制生成的内容
第二步:直接调用${__urlencode(token)}即可
image.png
-
手动写脚本
右击websocket请求 — 选择“前置处理器” — 添加一个“BeanShell预处理程序” — 将下面的代码粘贴在脚本区后,可以直接使用token变量值
public static String getAccessToken(String accessToken){
return URLEncoder.encode(accessToken);
}
String token = vars.get("token");
String acessToken = getAccessToken(token);
log.info(acessToken);
vars.put("token",acessToken);
image.png
image.png
网友评论