csv - Jmeter从csv读取参数,其中参数数量不固定
问题描述
我是 jMeter 的新手。我需要将参数作为键值对数组传递。示例参数如下所示:
a:3:{i:2925107;i:1389339;i:2778927;i:1317197;i:2880395;i:1389407;}
这里的值 2925107、2778927、2880395 代表键,1389339、1317197 和 1389407 代表它们对应的值。
此外,它将出现在下一行参数中,如下所示:
lease_ids[2925107] 1389339
lease_ids[2778927] 1317197
lease_ids[2880395] 1389407
除此之外,我还需要将更多参数存储到 csv 中。
我不知道我应该如何将它保存在 csv 文件中以及我应该如何阅读它。
解决方案
设置您的CSV 数据集配置,以使这些租约 ID 采用以下形式:
a:3:{i:2925107;i:1389339;i:2778927;i:1317197;i:2880395;i:1389407;} a:3:{i:2925108;i:1389340;i:2778928;i:1317198;i:2880396;i:1389408;}
即在单独的行上的每个条目。用作
id
“变量名”从HTTP 请求采样器中删除所有
lease_ids[xxxxxxx]
参数添加JSR223 PreProcessor作为 HTTP 请求采样器的子级
将以下代码放入“脚本”区域:
def matches = (vars.get('id') =~ 'i:(\\d+)').findAll() for (int i = 0; i < matches.size() - 1; i++) { sampler.addArgument('lease_ids[' + matches.get(i).get(1) + ']', matches.get(i + 1).get(1)) }
就是这样,JSR223 PreProcessor 会自动解析
id
变量并将相关lease_ids
参数添加到请求中。
推荐阅读
- docker - 将私有 ssh 密钥添加到 docker
- kotlin - Kotlin:无法调用表达式,因为找不到函数 invoke()
- html - 折叠表格列表
- python - 套接字服务器的客户端没有抛出一个错误,表明在不是套接字的东西上尝试了操作
- java - 带有非 Oracle JDK 的 Java 8 中的 JavaFX
- firebase - React Native Firebase Analytics:第二个参数必须是一个对象
- php - 未找到基表或视图 未找到表“tenancy.websites”
- reactjs - 在无状态组件上使用 React.memo() 时出错
- haskell - 从用户那里获取输入:Haskell
- sql-server - 通过 t-sql 为现有列配置 Always Encrypted