在 jmeter 中使用 Beanshell 进行参数化

Posted

技术标签:

【中文标题】在 jmeter 中使用 Beanshell 进行参数化【英文标题】:Use Beanshell for parametrization in jmeter 【发布时间】:2016-03-03 18:49:19 【问题描述】:

目前我的测试结构是:

用户定义变量(名称:CAMPAIGN_ID,值:100) 线程组 CSV数据集配置(读取用户ID的外部txt文件) HTTP 请求 Beanshell 断言(使用 JSON 路径提取器,使用 UDV 中配置的 CAMPAIGN_ID 提取字段的值)

所以我的测试使用一个 CAMPAIGN_ID 运行良好。 现在我想增强这个测试并为 10 个活动执行它,而不是每次都在用户定义的变量中更新它。 所以我创建了一个如下的campaign.txt文件

广告系列 100 活动 2 101 广告系列 3 103

问题: 1. 实现这一目标的最佳方法是什么?我应该使用 beanshell prepocessor 从 txt 文件中读取数据并将其存储在 vars.put("Campaign1",100) 中并使用 for Each 循环进行循环。 2. 有人可以帮我解决新的测试结构和代码示例吗?

非常感谢任何帮助!

【问题讨论】:

【参考方案1】:

您是否要循环 2 个 csv 文件?

对于外部 CSV 文件 (CAMPAIGN_ID) 中的每一行,您需要运行内部 csv 文件 (user_id) 中的所有行,然后看下面的示例。

http://www.testautomationguru.com/jmeter-looping-2-csv-files/

【讨论】:

感谢 Vinoth 的回复。这就是我一直在寻找的。​​span> @Harman,如果它真的有帮助,你可以接受这个答案!点击勾号 对于之前的问题也请这样做。您的任何问题似乎都没有完成。

以上是关于在 jmeter 中使用 Beanshell 进行参数化的主要内容,如果未能解决你的问题,请参考以下文章

jmeter beanshell里面写了函数怎么调用

JMeter基础 — JMeter中BeanShell断言详解

jmeter,BeanShell PreProcessor简单使用引入jmeter参数

扩展Jmeter--BeanShell进行java扩展

Jmeter使用beanshell对数据进行加密传输

Jmeter之BeanShell断言使用