【问题标题】:How to read Environment properties json file to UDV in JMETER如何在 JMETER 中将环境属性 json 文件读取到 UDV
【发布时间】:2018-10-10 14:52:34
【问题描述】:

我有一个关于环境属性的问题。 我使用 JMeter 来测试 Vertica + Redis + HTTP 请求。每天我都会获得新的 ENV。意思是新的干净的数据库。

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

有没有办法在测试计划开始运行之前读取这个 json 并将 env 属性传递给 Jmeter 中的 UDV,而不是完全自动化的过程?从今天开始每天都需要手动操作。

[][环境属性文件]

[][Jmeter中用户定义的变量]

【问题讨论】:

    标签: java groovy jmeter environment-variables properties-file


    【解决方案1】:

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

    您将收到类似this 的回复 然后你可以使用JSon Extractor提取值。

    您可以关注此blogs 以获取有关 JMeter 的更多信息

    【讨论】:

    • 嘿@Rohit 问题是我有 200 个使用相同属性的测试,根据您的解决方案,我需要为每个线程组执行 200 次此过程。他们是一种只做一次并让所有线程组都知道的方法吗?例如,该线程组将在所有其他测试之前执行吗?我想补充一点,所有测试同时运行。
    • 您可以使用 setProperty 方法将一个变量从一个线程组共享/传递到另一个线程组,请参阅此处的手册jmeter.apache.org/usermanual/best-practices.html#bsh_variables 并参考问题stackoverflow.com/questions/707832/…
    • 嘿 Rohit 问题是我希望所有线程组都同时运行。所以我不认为可以在线程之间传递,因为它们是一起运行的。
    【解决方案2】:

    您可以使用您选择的任何后处理器 Beanshell、JSR223 等通过第一个线程组以键值对或两列(即变量名、变量值)的形式从 json 中提取 CSV 中的值。

    然后,第二个线程组可能有你计划的其余部分以及“jp@gc - Variables From CSV File”来获取所需的值,也可以存储在系统属性中,如下所示。

    -1st Thread Group -- 从 json 中提取值并将其放入 csv 中。

    1. HTTP 请求——如图所示从 c 盘获取 json
    2. 正则表达式提取器 - 获取所需的变量
    3. JSR223 后处理器 - 以键值对的形式将变量写入 CSV。

    -2nd Thread Group -- 它使用“jp@gc - CSV 文件中的变量”引用 csv,它为以下所有请求提供变量。

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

    【讨论】:

    • 我还是不明白,这个过程是在所有线程组启动之前发生的吗?我的配置文件是 json,在示例中如何设置在 c 驱动器中获取变量的位置?我需要在所有线程组开始之前获取所有变量的过程。你能提供一步一步的解决方案吗?他们是通过 JSR223 预处理器设置系统属性的方法吗?我会使用第一个预处理器吗?
    • 更新了我的答案...请检查它是否对您的方案有帮助....在我的计划中,我正在获取环境。来自 csv 而不是来自 UDV 的变量。
    • 对不起,但还是不明白,你提到了第一个线程来做这个或那个,我有 100000 个测试,每个测试都是一个线程组,我希望在发生任何事情之前 Jmeter 将获得 ENV 属性然后一起处理所有测试。不一一。他们是不是告诉 jmeter 运行第一个线程而不是其他所有线程?我要做的就是让Jmeter知道DB端口和IP在哪里,
    • @Bastian..第一个线程组将放置所有需要的配置。 csv 中的值...然后第二个线程组将获取所有请求。来自第一个线程组生成的 csv 的值。您的第二个线程组将配置所有 100000 个线程。
    猜你喜欢
    • 1970-01-01
    • 2019-03-04
    • 2018-07-19
    • 1970-01-01
    • 2018-01-09
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多