Java 如何在jmeter中使用csv文件实现多个http请求?
我想通过csv文件多次模拟一个用户有2个http请求和1个http请求。下面是我的结构Java 如何在jmeter中使用csv文件实现多个http请求?,java,csv,jmeter,performance-testing,Java,Csv,Jmeter,Performance Testing,我想通过csv文件多次模拟一个用户有2个http请求和1个http请求。下面是我的结构 Test Plan - Thread Group *[No. of threads = 2, Ramp-up = 1, Loop count = 1]* - - View Results Tree - - Simple Controller - - - http request 1 - - - http request 2 - - - while controller *[condition = ${no}
Test Plan
- Thread Group *[No. of threads = 2, Ramp-up = 1, Loop count = 1]*
- - View Results Tree
- - Simple Controller
- - - http request 1
- - - http request 2
- - - while controller *[condition = ${no} (variable from csv file)]*
- - - - http request 3
- - - - CSV Data set Config *[Recycle on EOF = False, Stop on EOF = False, Sharing Mode = All threads] and CSV file has 3 records*
预期:应执行1个用户
http请求1、http请求2、http请求3、http请求3、http请求3(因为csv有3条记录)
- 如果我在EOF=False时保持循环,在EOF=False时停止它将继续运行请求,直到脚本结束,并且在数据结束后(即3行)它开始抛出错误
- 如果我在EOF=True时保持循环,在EOF=True时停止它只为1个用户运行并停止
- 如果我在EOF=True时保持循环,在EOF=False时停止它将继续运行请求,直到脚本结束
- 如果我在EOF=False时保持循环,在EOF=True时停止它只为1个用户运行并停止
但无法按照我的预期进行模拟。任何帮助都将不胜感激。谢谢。实现你的目标是可能的 http请求1、http请求2、http请求3、http请求3、http 请求3(因为csv有3条记录) 在 在While控制器中设置了以下条件
${__jexl3("${UNAME}"!="<EOF>")}
${uuuujexl3(${UNAME})!=“”)
其中UNAME是一个列名
由于条件是在while控制器中执行的,因此在执行http请求3之前需要进行额外的条件检查
请参见下面的控件结构。
希望这是有用的
也可以通过以下修改多次重复测试。添加了一个JSR223采样器,用于重置变量,并将文本EOF添加到CSV文件的末尾
GitHub中提供了示例计划和示例 实现你的目标是可能的 http请求1、http请求2、http请求3、http请求3、http 请求3(因为csv有3条记录) 在 在While控制器中设置了以下条件
${__jexl3("${UNAME}"!="<EOF>")}
${uuuujexl3(${UNAME})!=“”)
其中UNAME是一个列名
由于条件是在while控制器中执行的,因此在执行http请求3之前需要进行额外的条件检查
请参见下面的控件结构。
希望这是有用的
也可以通过以下修改多次重复测试。添加了一个JSR223采样器,用于重置变量,并将文本EOF添加到CSV文件的末尾
GitHub中提供了示例计划和示例
${__jexl3("${myVar}" != "<EOF>",)}
${uuuujexl3(${myVar})!=”,)}
${__jexl3("${myVar}" != "<EOF>",)}
${uuuujexl3(${myVar})!=”,)}
谢谢Dmitri T和Janesh Kodikara。。。这很有效。非常感谢(y)嘿@Dmitri它没有运行多个线程。我已将线程数增加到2,但只执行了一次。有什么建议吗?谢谢Dmitri T和Janesh Kodikara。。。这很有效。非常感谢(y)嘿@Dmitri它没有运行多个线程。我已将线程数增加到2,但只执行了一次。有什么建议吗?