Jmeter - 找到正确的项目后停止读取CSV文件
Jmeter - Stop reading CSV file after find out right item
我有一个像这样的 CSV 文件:
brandid1,brandurl1,producturl1
brandid2,brandurl2,producturl2
brandid3,brandurl3,producturl3
和一个从先前响应中获取的变量 ${brandid}。 现在,如果 brandid 相同,我想从 CSV 文件中查找 brandurl 和 producturl(例如:${brandid} == ${brandid2},它将 return brandurl2 和 producturl2)它们的脚本将停止没有 运行 整个 csv 文件。
我必须使用“While”控制器和 BSF 预处理器,但脚本总是 运行 整个 csv 文件。
While ("${tmp}"=="1")
--http request (use brandurl,producturl)
--csv file
--HTTP Header Manager
--BSF PreProcessor
在全局 tmp=1
和 BSF 中声明 tmp 如下:
var brand_idOfWH = vars.get("brand_idOfWH");
var brandid_csv = vars.get("brandid");
var brandurl = vars.get("brandurl");
vars.put("brand_url",brandurl);
var producturl = vars.get("producturl");
vars.put("product_url",producturl);
if (brand_idOfWH == brandid_csv)
{
vars.put("tmp","0");
}
如果我发现正确,请帮助我停止阅读 CSV 文件brandid
您误用了 While Controller,根据 documentation 它接受 function 或 variable,它无法解析您的表达式,因此不会退出循环。正确的函数看起来像:
${__javaScript("${tmp}" == "1",)}
- 不建议使用 BSF 测试元素编写脚本。如果您必须通过脚本克服 JMeter 的限制,请考虑使用 JSR223 Test Elements and "groovy" as a language - this way you'll get optimal performance. See Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! 指南以获取有关安装 Groovy 脚本引擎支持和 Groovy 脚本最佳实践的详细说明。
我有一个像这样的 CSV 文件:
brandid1,brandurl1,producturl1
brandid2,brandurl2,producturl2
brandid3,brandurl3,producturl3
和一个从先前响应中获取的变量 ${brandid}。 现在,如果 brandid 相同,我想从 CSV 文件中查找 brandurl 和 producturl(例如:${brandid} == ${brandid2},它将 return brandurl2 和 producturl2)它们的脚本将停止没有 运行 整个 csv 文件。
我必须使用“While”控制器和 BSF 预处理器,但脚本总是 运行 整个 csv 文件。
While ("${tmp}"=="1")
--http request (use brandurl,producturl)
--csv file
--HTTP Header Manager
--BSF PreProcessor
在全局 tmp=1
和 BSF 中声明 tmp 如下:
var brand_idOfWH = vars.get("brand_idOfWH");
var brandid_csv = vars.get("brandid");
var brandurl = vars.get("brandurl");
vars.put("brand_url",brandurl);
var producturl = vars.get("producturl");
vars.put("product_url",producturl);
if (brand_idOfWH == brandid_csv)
{
vars.put("tmp","0");
}
如果我发现正确,请帮助我停止阅读 CSV 文件brandid
您误用了 While Controller,根据 documentation 它接受 function 或 variable,它无法解析您的表达式,因此不会退出循环。正确的函数看起来像:
${__javaScript("${tmp}" == "1",)}
- 不建议使用 BSF 测试元素编写脚本。如果您必须通过脚本克服 JMeter 的限制,请考虑使用 JSR223 Test Elements and "groovy" as a language - this way you'll get optimal performance. See Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! 指南以获取有关安装 Groovy 脚本引擎支持和 Groovy 脚本最佳实践的详细说明。