Java 如何在JMETER中将环境属性json文件读取到UDV

Java 如何在JMETER中将环境属性json文件读取到UDV,java,groovy,jmeter,environment-variables,properties-file,Java,Groovy,Jmeter,Environment Variables,Properties File,我有一个关于环境属性的问题。 我使用JMeter测试Vertica+Redis+HTTP请求。每天我都有新的环境。意思是新的清洁数据库 问题是我在env文件中获得了新的主机和端口,例如位于c://envperties.json下 在测试计划开始运行并将env属性传递给Jmeter中的UDV之前,是否有任何方法可以读取此json,然后将其完全自动化?从今天起,每天都需要手动操作 []环境属性文件] []您可以使用HTTP采样器和文件协议来获取Json文件,并使用后处理器Json提取器来提取值 有关

我有一个关于环境属性的问题。 我使用JMeter测试Vertica+Redis+HTTP请求。每天我都有新的环境。意思是新的清洁数据库

问题是我在env文件中获得了新的主机和端口,例如位于c://envperties.json下

在测试计划开始运行并将env属性传递给Jmeter中的UDV之前,是否有任何方法可以读取此json,然后将其完全自动化?从今天起,每天都需要手动操作

[]环境属性文件]


[]您可以使用HTTP采样器和文件协议来获取Json文件,并使用后处理器Json提取器来提取值 有关更多信息,请参阅屏幕截图

你会得到这样的回答 然后您可以使用来提取值


有关JMeter的更多信息,请遵循此操作。您可以使用您选择的任何后处理器Beanshell、JSR223等,通过第一个线程组,以键值对或两列(即变量名称、变量值)的形式从json中提取CSV值

然后,第二个线程组可能会将计划的其余部分和获取所需的值一起存储在系统属性中,如下所示

-第一个线程组-它从json中提取值并将其放入csv中

HTTP请求-从c驱动器获取json,如图所示 正则表达式提取器-获取所需的变量 JSR223后处理器-以键值对的形式在CSV中写入变量。 -第二线程组-它指的是使用jp@gc-CSV文件中的变量,该文件为以下所有请求提供变量

选中测试计划中的复选框以连续运行线程组。
我希望这能有所帮助。

Hey@Rohit问题是我有200个使用相同属性的测试,根据您的解决方案,我需要为每个线程组执行200次此过程。他们的方法是只做一次,让所有的线程组都知道吗?。例如,该线程组将在所有其他测试之前执行?我想补充的是,所有测试都同时运行。您可以使用setProperty方法将一个变量从一个线程组共享/传递到另一个线程组。请参阅此处的手册,并参阅问题Hey Rohit。问题是,我希望所有线程组将同时运行。所以我认为不能在线程之间传递,因为它们是一起运行的。我仍然不明白,这个过程是在所有线程组开始之前发生的吗?本例中的配置文件是json,在本例中,如何设置在c驱动器中获取变量的位置?我需要的过程,以获得所有的变量将发生之前,所有的线程组开始。你能提供一步一步的解决方案吗?它们是通过JSR223预处理器设置系统属性的一种方法吗?我会使用第一个预处理器吗?更新了我的答案…请检查它是否对您的场景有帮助…在我的计划中,我正在获取env。来自csv而非UDV的变量。抱歉,但仍然不明白,您提到了第一个执行此或那个操作的线程,我有100000个测试,每个测试都是一个线程组,我希望在发生任何事情之前,Jmeter将获得ENV属性,然后一起处理所有测试。不是一个接一个。他们会告诉jmeter运行第一个线程,而不是所有其他线程一起运行吗?我只想让Jmeter知道DB端口和IP在哪里,@Bastian..第一个线程组将放置所有必需的配置。csv中的值…然后第二个线程组将接受所有请求。第一个线程组生成的csv中的值。第二个线程组将配置所有100000个线程。