当前位置: 首页 > 知识库问答 >
问题:

JMeter:如何根据列值读取csv文件中的特定行数据,并将该列的值传递给采样器?

沈子昂
2023-03-14

我不熟悉Jmeter,也不熟悉如何使用POC对web应用程序进行负载测试。

我正在尝试做的事情:
我总共有4个用户登录(外科医生)。每个登录都与'n'个病人相关联。
我已经创建了2个CSV文件
1。一个带有外科医生的用户登录和密码
2。另一个CSV文件包含PatientName、PatientID和与该患者相关联的外科医生,如下所示。

    null

线程组(4个用户,按1秒递增时间,1个循环)-CSV1(带用户名、密码)
-登录页面并导航到主页面-运行时控制器(以维持一定时间量的负载)
--While loop(在已登录的外科医生/用户的患者仪表板之间进行循环)--CSV2(数据如上所示)--导航到仪表板
----csv1导航到主
-注销应用程序

我想要达到的目标:

我想使用单线程组,并为所有4个用户并发运行它。在此过程中,一旦用户登录,用户应该只从CSV中读取那些相关的患者数据。
例如:当Thread1以User1登录运行时,他应该只能循环通过Pa1、Pa2、Pa3、Pa4用户;当thread2以User2登录运行时,用户应该只读取Pa5、Pa6数据。

像这样,每个用户登录应该只根据上面提到的用户关联来选择这些用户。
有没有办法,我可以使用这个单一的CSV2文件来实现这个任务?这样,我就不必创建n个n个登录的n个线程,n个CSV文件,每个文件都包含特定于用户登录的数据。

共有1个答案

仲孙向明
2023-03-14

根据JMeter测试元素的执行顺序

0.配置元素

>

  • 预处理器

    侦听器(除非SampleResult为空)

    作为一个配置元素,CSV数据集配置被初始化一次,并且在任何其他元素之前初始化,因此您将不能在第二个CSV数据集配置中使用第一个CSV数据集配置中的当前变量。

    解决方案是使用__csvread()函数,而不是JMeter函数在它们出现在测试计划中的地方进行计算,这样您就可以在那里使用任何硬编码的值或JMeter变量或其他函数。

    更多信息:如何在JMeter运行时选择不同的CSV文件

  •  类似资料:
    • 我有一个包含CSV文件的目录。每个文件都包含我想用JMeter发出的GET请求列表。我想要做的是读取一个目录中的所有文件,然后循环通过每个CSV在JMeter中发送请求。文件的数量不一致,所以我不想将文件名硬编码到CSV采样器中。 因此,实际上,我希望读取目录中的所有文件,并将这些文件存储在一个数组变量中。循环遍历数组并将CSV文件发送给CSV采样器,然后CSV采样器读取CSV文件并将内容传递给H

    • 我有一个包含5个字段(列)的csv文件。在5列中,我只想读第二列和第四列,这是进一步处理所需的。现在我正在使用opencsv api的readAll()方法进行读取。通过使用这种方法,我必须处理所有列,以获得第二列和第四列的值。 有没有办法读取所需列的值,即从csv文件中读取第二个和第四个值? 这是正确的方法还是我应该使用其他方法?

    • 问题内容: 从pandas数据框中选择所有行的最简单方法是什么?谁的符号在整个表中恰好出现两次?例如,在下表中,我想选择在[‘b’,’e’]中带有sym的所有行,因为这些符号的value_counts等于2。 问题答案: 我认为您可以按列和值使用: 第二个解决方案使用与布尔索引: 并用最快的解决方案和:

    • 我试图使用JSR223采样器模拟并行ajax请求,如这里提到的https://www.blazemeter.com/blog/how-load-test-ajaxxhr-enabled-sites-jmeter ,我在测试计划中启用了cookie管理器。 任何关于我做错什么的帮助都是很好的。

    • 我有一个csv文件,其中包含4个字段(列)。在4列中,我想读第二列,想读csv文件的特定列的第一个名称,并使用Java计算列记录。请帮忙。

    • 但是根据目前的需求,我们需要从mongodb中获取数据,将这些动态值传递给HTTP请求采样器,我的意思是我们需要根据数据库中的动态值构建HTTP请求采样器? 你能不能请谁帮我一下。