Jmeter - 使用问题记录
2022-02-17
JMeter - ${var} 取值遇到的坑
问题:
1.
第一个请求 , 响应的数据如下,
通过JSON提取器提取token,并设置为jmeter变量
在第二个请求中用${token}的方式取 token 作为json请求体加入上送数据,校验token是否有效
但是上送数据如下, 预期是:{"token":"8d7caa926c411152498318eeba5d8b37"}:
解决过程:
-
提取token时, 用{"token": " ${token}"} , 依然不解决问题 (后来发现是token不存在导致)
-
第二个请求添加前置BeanShell处理器,处理token在前后添加
""
,在存为token1 变量,在引用的时候用 ${token1} 解决
debug sample:
上送数据:
但感觉这种处理方式不太科学,之后有其他办法再更新
第二天再试 "${var}" 取值ok
取值方式:
取值结果:
总结:
- jmeter 取变量的方式 : $
- 需要在变量两边加双引号时: "${token}"
- 当"${token}" 取不到值时说明这个变量根本就不存在所以取不到从而还是"${token}"
2022-06-08
请求1:
请求2:
问题:
Jmeter 接口请求的时候,跑多次的时候请求2 会失败,过一段时间再跑请求1和请求2都没有问题,紧接着再跑请求2失败
分析:
请求2 是请求1 重定向过去的, 如果请求1和请求2使用 KeepLive,当连接没有断开的时候,再次请求就会有问题
解决:
请求1 的 Jmeter 配置取消使用 KeepLive, 测试成功
总结:
HTTP - KeepAlive 的作用
2022-06-14
问题1:网页触发接口和jmeter触发接口返回的数据不一致
导致问题的原因:HTTP请求取样器没有填写编码
验证:
Jmeter 请求:请求体数据中出现中文乱码
网页请求:
总结:HTTP取样器内容编码最好还是写上,以免出现不必要的麻烦
问题2: HTTP取样器没有填写协议导致 HTTPS请求出现302 重定向
现象:
解决:
填写HTTPS 协议和443端口后正常
总结:
HTTPS协议的请求一定要填写协议和端口
2022-06-15
JSON 断言取list 最后一个数据:
https://blog.csdn.net/SwTesting/article/details/119140346
文件上传时请求头冲突问题:
https://blog.csdn.net/wangmcn/article/details/122639495
文件上传:
https://www.jb51.net/article/193029.htm
判断vars.get() 不为空
- 如果使用的是 beanshell:
String value = vars.get("name");
if(value == null || value.isEmpty){
}
- 如果使用的是 jsr223 或者 grovvy:
// 获取变量
def myVar = vars.get('myVariableName');
// 判断变量是否为空
if (myVar == null || myVar.isEmpty()) {
// 如果为空,设置标志为false
vars.put('isVarEmpty', 'false');
} else {
// 如果不为空,设置标志为true
vars.put('isVarEmpty', 'true');
}
本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/16379968.html