Jmeter CSV数据集在JDBC采样器请求之前执行 我正在对多个并发用户执行登录测试。 我创建了一个JDBC请求,以从患者处获取用户名和密码 桌子然后在的帮助下使用相同的数据创建了一个Test.CSV文件 比恩希尔断言 现在在CSV数据集配置Test.CSV中传递此文件名 我能够与多个用户同时登录,但面临一个问题: 当我第一次运行测试时。该文件在同一位置不可用,因为它是在执行线程组后创建的。 如果文件不在那里,我会在日志中获取此信息:文件Test.csv必须存在并且可读

Jmeter CSV数据集在JDBC采样器请求之前执行 我正在对多个并发用户执行登录测试。 我创建了一个JDBC请求,以从患者处获取用户名和密码 桌子然后在的帮助下使用相同的数据创建了一个Test.CSV文件 比恩希尔断言 现在在CSV数据集配置Test.CSV中传递此文件名 我能够与多个用户同时登录,但面临一个问题: 当我第一次运行测试时。该文件在同一位置不可用,因为它是在执行线程组后创建的。 如果文件不在那里,我会在日志中获取此信息:文件Test.csv必须存在并且可读,jmeter,Jmeter,为了执行相同的过程,我要做的是,保持JDBC请求是不同的测试计划。首先执行该测试计划,然后继续登录 我希望执行并保持两个请求是相同的测试计划。 如果我在同一个测试计划中为这些请求使用不同的线程组,仍然面临相同的问题,那么还有一件事 Jmeter执行顺序为:- 0-配置元素 1-预处理器 双定时器 3-取样器 4-后处理器(除非SampleResult为空) 5-断言(除非SampleResult为空) 6个侦听器(除非SampleResult为空) 基于以上,很明显,“csv数据配置”将在JDB

为了执行相同的过程,我要做的是,保持JDBC请求是不同的测试计划。首先执行该测试计划,然后继续登录

我希望执行并保持两个请求是相同的测试计划。
如果我在同一个测试计划中为这些请求使用不同的线程组,仍然面临相同的问题,那么还有一件事

Jmeter执行顺序为:-

0-配置元素

1-预处理器

双定时器

3-取样器

4-后处理器(除非SampleResult为空)

5-断言(除非SampleResult为空)

6个侦听器(除非SampleResult为空)

基于以上,很明显,“csv数据配置”将在JDBC采样器之前首先执行

我能想到的是,如果您想在同一个线程组中获取username/pwd,那么您可以使用将username和password设置为属性,并使用获取它。为此,在JDBC之后使用JSR223后处理。 您也可以使用任何其他已知的后处理器/脚本语言,只是groovy更适合于性能测试


希望能有所帮助。

原因是CSV数据集配置是一种配置,根据测试元素,它是在初始化之前进行的

我建议改为使用函数,JMeter函数在调用时进行评估,这样Test.csv文件将在您从中获取凭据时存在。请参阅以熟悉JMeter函数的概念

还要注意,根据Beanshell或其他脚本语言的JMeter最佳实践