gpt4 book ai didi

testing - 将计数器的最大值保存到 JMeter 中的文件

转载 作者:行者123 更新时间:2023-11-28 20:38:42 34 4
gpt4 key购买 nike

我正在使用 SOAP/XML-RPC 请求来测试 WSDL。此外,我为此请求创建了一个 Counter 元素。其中一个函数的每次调用都必须在其中一个参数中包含其他值。是否有可能将最大计数器值保存到文件中?所以当我开始测试时,该值将从文件中加载并增加计数器。最后,这个最大值将再次保存到这个文件中。等等等等……

最佳答案

让我们放弃内置的 Counter 并绕过线程安全的 AtomicInteger。添加一个带有 JSR223 SamplersetUp Thread Group(选择 groovy 作为脚本语言)到您的测试计划中。我们将使用它从文件中读取值。该线程组将在所有其他线程组之前执行,并将为我们提供初始值。将以下代码添加到采样器:

import java.util.concurrent.atomic.AtomicInteger

counter = new File($/C:\Path\ToFile\fileName.txt/$).text
ai = new AtomicInteger(Integer.valueOf(counter))
props.put("sharedAtomicInteger", ai)

然后在您的常规线程组中的SOAP/XML-RPC 请求之后添加另一个JSR223 采样器

将以下代码添加到采样器中:

ai = props.get("sharedAtomicInteger")
variable = ai.incrementAndGet()
vars.put("variable", Integer.toString(variable))

现在,临时计数器的值存储在一个变量 中,可以用于此线程发出的其他请求。

将带有 JSR223 采样器teardown 线程组 添加到您的测试计划中。该线程组将在所有其他线程组之后执行,并将最大值写入文件。

将以下代码添加到采样器中:

ai = props.get("sharedAtomicInteger")
new File($/C:\Path\ToFile\fileName.txt/$).write(ai.toString())

最后,您的测试计划应如下所示:

setUp Thread Group

JSR223 Sampler

常规线程组

SOAP/XML-RPC Request

JSR223 Sampler

拆卸线程组

JSR223 Sampler

附言请记住,为了简洁起见,我使用了 java.util.Properties 类的 put() 方法,这在 documentation 中是不鼓励的。 .

关于testing - 将计数器的最大值保存到 JMeter 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42909361/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com