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

Jmeter:如何将CSV文件中的特定变量值映射到测试计划中的特定线程组

许波涛
2023-03-14

我有一个包含12个线程组的测试计划,每个线程组都是一个测试场景。我想为每个线程组使用唯一的登录凭据。因此,我创建了一个CSV文件,将CSV数据配置元素添加到每个线程组,并在“共享模式”中选择了“所有线程”。每当我执行测试计划(所有线程组并发)时,线程组不会按顺序采用可变行。我预计测试计划中的第一个线程组会根据帖子考虑CSV文件中的第一行变量:JMeter测试计划,每个线程都有不同的参数但是它没有发生,我无法理解变量分配的模式。请帮助我解决我的问题。

我的CSV文件如下所示:userName、password、message userone、sample123、message1 usertwo、samplec23、message_2。。。

谢谢!

共有1个答案

臧俊杰
2023-03-14

线程和线程组是不同的。当您在“共享模式”中选择“所有线程”时,这只意味着同一线程组中的所有线程都将共享CSV。线程组始终是独立的。

您有2个简单的选项:

>

  • 使用一个线程组并控制用户使用控制器做什么。例如,吞吐量控制器可以允许您控制同一线程组中有多少线程执行此脚本或其他脚本场景。

    分割CSV,使每个线程组都有自己的CSV。

    还有许多更复杂的选项,例如:

    使用__CSVRead或__StringFromFile函数,允许读取一行。这样,您可以为每个线程组分配一个要读取的行范围,而不是读取整个文件

    如果您的用户名和密码是可预测的(例如user1、user2等),您可以为每个线程组使用一个计数器和一个范围。

  •  类似资料:
    • 我有一个API,它以以下格式返回JSON: 我还有一个POJO类,它具有与JSON响应的键对应的字段,因为、和键在我的用例中不相关。 是否可以将JSON响应映射到我的JavaPOJO类,即只映射键内的值? 一种可能的方法是接受String响应,并使用setter方法将其映射到我的POJO。 有更好的办法吗。像这样的

    • null 5 CSV文件中准备的数据如下: 客户,ID A,1 B,2 C,3 d,4 E,5 使用${Customer},${ID}获取变量 null 我尝试使用${_v(customer${__threadnum})}通过线程号获取特定的行,它返回Customer_1,不能用于从CSV获取数据。它用于数组。

    • 我有一个接受客户端连接的服务器程序。这些客户端连接可以属于多个流。例如,两个或多个客户机可以属于同一个流。在这些流中,我必须传递一条消息,但我必须等到所有流都建立起来。为此,我维护以下数据结构。 整数是流 ID,长整型是客户端编号。为了使给定流的一个线程等待原子龙达到特定值,我使用了以下循环。实际上,流的第一个数据包会将其放入流 ID 和要等待的连接数。对于每个连接,我都会减少要等待的连接。 然而

    • 在我的java代码中,如何访问存储在JMeter测试计划(jmx文件)中的值?特别是尝试获取ThreadGroup。numthreads,这样我的测试代码就可以知道测试中使用了多少线程。 感谢您的回复。以下是我最终使用的代码:

    • 问题内容: 我需要一种更改CSV文件列的特定值的方法。例如,我有这个CSV文件: 并且我需要将“ 127.0.0.2”行的值23更改为30。 我使用csv库: 问题答案: 这是打开csv文件,更改内存中的值然后将所做的更改写回到磁盘的解决方案。 行内容: 修改值: 行内容: 现在我们只需要将其写回到文件中

    • 我的应用程序将从用户那里获取jmx文件作为测试计划并执行它。我已经在我的应用程序后端(1个JMeter客户端和多个JMeter服务器)分发了JMeter设置。 我面临的挑战是执行测试计划所需的线程数。 < li >如果我从用户处显式获取#instances(执行测试的JMeter服务器)和#threads,如何在执行之前用该线程组配置用户提供的测试计划?这将允许我事先用我的集群和机器容量来验证这些