我建议将您的测试逻辑分成两个独立的部分:
- 从 CSV 加载信息并将其存储为 JMeter 变量
- 使用第 1 点中的变量对 Oracle 执行 SQL 代码
关于实现,我建议使用 2 个单独的线程组,第一个将从 CSV 加载内容,第二个将进行实际测试。
重要提示:不要忘记在 TestPlan 级别选中“连续运行线程组”框,以确保第二个线程组在第一个线程组之后运行。
第一个线程组的示例配置:
柜台
CSV 数据集配置
- 文件名 - csv 文件的路径
- 变量名称 - 名称、电子邮件
- 分隔符 - 如果您使用的是 TAB - "\t",如果是逗号 - ","不带引号
- 允许引用数据 - 假
- 在 EOF 上回收 - 错误
- 在 EOF 上停止线程 - 真
- 共享模式 - 所有线程
Beanshell Sampler(这个是可选的,JMeter 2.10 足够聪明,可以为你存储变量,但我更喜欢自己控制一切)
Beanshell 采样器的代码应如下所示:
props.put("name" + vars.get("counter"), vars.get("name"));
props.put("email" + vars.get("counter"), vars.get("email"));
它获取当前的“名称”变量并将其存储为名称 + 计数器属性。
因此,给定 3 行是 CSV 文件,您将具有以下属性:
name1=Justin
email1=justin@beiber.com
name2=George
email2=george@washington.com
name3=Micheal
email3=micheal@jackson.com
您可以使用 Debug Sampler 查看 JMeter 变量和属性值
之后,在第二个线程组中,您可以将存储的属性称为:
${__P(name1,)}
或者
${__property(name1,,)}
在您的 JDBC 请求采样器中。
两者都应该工作。