jmeter csv文件使用函数后 请求体参数乱码

jmeter csv文件使用函数后 请求体参数乱码

研究后原因是 csv文件直接通过重命名修改后缀名 这会导致编码格式不是utf-8

需要将文件通过另存为保存 错误解决

### JMeter 读取 CSV 文件 参数未成功加载 解决方案 #### 使用 `CSV Data Set Config` 组件配置 为了确保参数能够被正确加载,建议使用 `CSV Data Set Config` 组件来代替内置的 `__CSVRead()` 函数。该组件提供了更多的灵活性和功能选项[^2]。 - **文件路径设置** - 确认 CSV 文件路径无误,并且对于分布式测试环境而言,需将相同的 CSV 文件放置于每一台 slave 测试机器上的相同位置。 - **分隔符设定** - 默认情况下,字段间是以逗作为分隔符;如果有其他字符充当分隔作用,则应在配置项中指定相应的分隔符。 - **量名称定义** - 定义清晰易懂的量名用于映射 CSV 中各列的数据,在后续脚本编写过程中调用这些量即可获取对应值。 - **循环行为调整** - 可选地开启“Recycle on EOF?” 和 “Stop thread on EOF?” 来控制当到达文件末尾时的行为方式,前者会重新回到文件开头继续读取而后者则是终止线程运行。 ```properties # 示例属性配置 filename=example.csv # 路径指向要使用CSV文件 variableNames=id,name,value # 列表中的各个项目分别赋给不同的量 delimiter=, # 字段之间的分割符,默认为英文半角逗 recycle=true # 是否允许回绕至文件起始处再次遍历 stopThread=false # 达到EOF时不中断整个线程工作流 shareMode=all # 数据集共享模式可设为all、group或thread ``` #### 处理编码问题防止乱码现象发生 针对可能出现的乱码情况,应该仔细检查并统一所有涉及环节所采用的文字编码标准: - **保存源文件时指明编码格式** - 创建或编辑 CSV 文档之前,请先确认其默认编码形式(如 UTF-8),必要时通过文本编辑工具手动转换成目标编码再上传至服务器端供 JMeter 访问。 - **启动命令行加入 JVM 参数** - 如果是在 Linux 或 MacOS 平台上执行 JMeter 的话,可以在启动命令后面追加 `-Dfile.encoding=UTF-8` 这样的 JVM 参数以强制规定内部处理过程遵循特定编码规则。 ```bash java -jar ApacheJMeter.jar -n -t testplan.jmx -l result.log -Dfile.encoding=UTF-8 ``` #### 动态切换不同 CSV 文件策略 有时需要根据不同条件动态选择不同的输入数据集合,这时可以通过组合使用自定义函数以及逻辑控制器实现灵活跳转效果[^5]。 ```groovy // Groovy Script Sampler example to dynamically set the file path based on some condition. def filePath = 'defaultPath'; // Default value if no conditions match. if (someCondition) { filePath = vars.get('customFilePath'); } vars.put('currentCsvFile', filePath); log.info("Current CSV File Path: " + filePath); // Then use this variable within your CSV Data Set Config element as follows: ${__P(currentCsvFile)} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值