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

如何将提取的RegEx存储在Jeter中,并在下一个采样器中使用它

钱欣然
2023-03-14

我试图根据添加到线程组中每个采样器中的每个REST API的并发性来衡量响应吞吐量。我的测试计划中的线程组如下

Thread组

  1. 第一采样器

1.1. 暂停10秒测试操作,因为POST可能需要一些时间来生成唯一的ID1

第二采样器

第三采样器

第四采样器

正如您所看到的,因为每个采样器都是相互依赖的,所以我必须将它们添加到一个线程组中,并且功能验证工作正常,没有任何问题。

但我需要测量每个采样器中每个RESTAPI的响应吞吐量。这意味着我需要运行并发线程,比如100到100K,以测量每个API响应的限制。

如果我以10个线程和5个循环计数的方式运行上面的线程组,那么每个采样器都在等待下游采样器完成,因此吞吐量计算会有所不同,因为10个线程根据5个循环计数重复5次。

因此,我试图找到一种方法来首先完成所有的POST,不管线程数是10 only还是线程数是10 with 5 loop count,收集所有${uniqueId1}并将其传递给所有GET采样器,这样POST采样器就不必等待完成剩余的采样器。

同样${uniqueId2}和${uniqueId3}也应该遵循相同的过程。

那么有什么方法可以在Jmetm中实现这一点呢?立即回答将不胜感激!

提前谢谢

共有1个答案

何德寿
2023-03-14
  1. 您不需要测试动作采样器,因为JMeter会在开始下一个采样器之前等待上一个采样器完成

您可以使用JMeter属性在线程组之间传递UniqueID值,即:

  • __setProperty()函数在setUp线程组中定义uniqueID值
  • __P()函数在其他线程组中读取值

关于在不同的线程组之间共享数据的例子,请参阅编织珍珠二:如何在不同的线程组中使用变量一文

 类似资料:
  • 我正在从beanshell对api进行dme2调用,并且从它得到了类似{“StagedCustomerID”:“165CE369-A9FB-4D42-B8F0-F119A6AE20EB”}的响应,所以现在我只想将customer id值传递给另一个beanshell采样器,用于下一个api调用,作为JMeter中同一线程中请求体中的一个参数。 请建议在这种情况下我们能做些什么。有什么方法可以做be

  • 我有一个关于如何处理请求的问题,例如: 我已经创建了一个带有一个线程组的测试计划。 设置用户数(线程):10 加速期:20 循环计数:永远 在这个线程组中,我创建了5个HTTP请求。 当我点击start时,我知道它以1个用户开始,到20秒时,它将拥有所有10个用户。 每个采样器(http请求)是否分配给一个用户?每个采样器是否按顺序点火?它会触发并行请求吗?我试图了解整体工作。

  • 我需要从一个文件中提取公钥(RSA)。我希望提取密钥并将其存储在文件中,这样我就可以使用它的值来使用js加密加密值。 下面的命令转换至: 然而,它生成的不是带有公钥的文件,而是包含文件内容的文件。 我应该使用什么命令来提取公钥并将其存储在文件中?

  • 我打算在mongodb中针对特定文档获取objectID,将其存储在变量中并在控制台上打印出来。请注意,我希望_id字段 i-e 中的完整值:ObjectId(“5dc2b032da7bec484cc0be5b”),因为我打算在下一个采样器中将此值用作过滤器。我已经编写了以下代码,但它失败了: IAm收到以下错误:

  • 问题内容: 我正在将Jmeter webdriver采样器与chrome浏览器一起使用。我需要在jmeter中使用chromeoption和期望的功能。我该如何编码以使用这些选项。 我要使用的示例代码可以是这样。 有人可以帮忙吗? 问题答案: 查看ChromeDriverConfig.java ,您当前无法使用WebDriver Sampler对其进行控制,因此这些选项位于: 修补源代码,并根据需

  • 我正在找到在JSR223采样器、JSR223预处理程序、JSR223后处理程序和所有其他JSR223脚本中使用变量的方法。 还有一些其他变量,如、、、。我可以很容易地使用它们。 :vars.get(“variable_name”)、vars.put(“variable_name”、“value”)、... :props.get,props.put,... :prev.gettime()、prev.