Algorithm 使用Jmeter请求循环遍历文件夹和子文件夹

Algorithm 使用Jmeter请求循环遍历文件夹和子文件夹,algorithm,jmeter,Algorithm,Jmeter,我有根文件夹和它的id。要进入任何文件夹,我需要在它的主体中使用Json发出POST请求,其中包括我要进入的文件夹的id。作为POST请求后的响应,我会在其中获取文件夹列表。接下来的问题是-如何使用WHILE Controller和POST request遍历整个文件夹树(访问每个文件夹)?遵循以下步骤: 首先,添加采样器,以使用父文件夹id构建POST请求(请参阅图1) 作为子级添加到上述HTTP采样器中。(请参阅图2)。配置正则表达式提取器以从HTTP响应捕获所有子文件夹ID。(参见imag

我有根文件夹和它的id。要进入任何文件夹,我需要在它的主体中使用Json发出POST请求,其中包括我要进入的文件夹的id。作为POST请求后的响应,我会在其中获取文件夹列表。接下来的问题是-如何使用WHILE Controller和POST request遍历整个文件夹树(访问每个文件夹)?

遵循以下步骤:

  • 首先,添加采样器,以使用父文件夹id构建POST请求(请参阅图1)
  • 作为子级添加到上述HTTP采样器中。(请参阅图2)。配置正则表达式提取器以从HTTP响应捕获所有子文件夹ID。(参见imag2)
  • 添加以迭代捕获的所有子文件夹ID。(请参阅图3)
  • 将HTTP采样器作为每个控制器的子级添加到。(参见图4)
  • 添加(了解变量值,使用正则表达式捕获)和侦听器(捕获HTTP请求和响应)以调试脚本。脚本运行后,将其删除
  • 以下图片是通过
    google.com
    上的示例生成的。请根据您的web应用程序更改值

    图1:

    图2:

    图3:

    图4:

    图5:
    按照以下步骤操作:

  • 首先,添加采样器,以使用父文件夹id构建POST请求(请参阅图1)
  • 作为子级添加到上述HTTP采样器中。(请参阅图2)。配置正则表达式提取器以从HTTP响应捕获所有子文件夹ID。(参见imag2)
  • 添加以迭代捕获的所有子文件夹ID。(请参阅图3)
  • 将HTTP采样器作为每个控制器的子级添加到。(参见图4)
  • 添加(了解变量值,使用正则表达式捕获)和侦听器(捕获HTTP请求和响应)以调试脚本。脚本运行后,将其删除
  • 以下图片是通过
    google.com
    上的示例生成的。请根据您的web应用程序更改值

    图1:

    图2:

    图3:

    图4:

    图5:
    使用Jmeter实现递归非常困难。所以我使用列表来存储我的子文件夹列表,当我访问了子文件夹列表中的所有项目时,我会将其从主列表中删除。对于数量不多的文件夹树级别,这将很好地工作。
    BeanShell被用来描述逻辑。

    用Jmeter实现递归非常困难。所以我使用列表来存储我的子文件夹列表,当我访问了子文件夹列表中的所有项目时,我会将其从主列表中删除。对于数量不多的文件夹树级别,这将很好地工作。
    BeanShell被用来描述逻辑。

    请用2个JSON回答更新您的问题:1。当有文件夹2时。当没有文件夹时(您点击叶文件夹),我们可以提出相关的While控制器条件。同时,请查看文章。@Dmitri除了文件夹之外,我的文件夹中有文件。所以,当JSON响应中没有文件夹时(我在叶文件夹中),我仍然有文件列表。所以我的回答是相同的,但在结果数组中我没有文件夹ID。请用2个JSON回答更新你的问题:1。当有文件夹2时。当没有文件夹时(您点击叶文件夹),我们可以提出相关的While控制器条件。同时,请查看文章。@Dmitri除了文件夹之外,我的文件夹中有文件。所以,当JSON响应中没有文件夹时(我在叶文件夹中),我仍然有文件列表。所以我的回答是相同的,但在结果数组中我没有文件夹ID。好的,只有当文件夹树有一个级别时,你的解决方案才是好的。根文件夹和根文件夹中的文件夹。但如果我们有更多的级别,您将无法使用您提供的解决方案访问根子文件夹的每个子文件夹。这是递归问题。很难模拟我这边的问题。您可以共享URL吗?好的,只有当文件夹树有一个级别时,您的解决方案才是好的。根文件夹和根文件夹中的文件夹。但如果我们有更多的级别,您将无法使用您提供的解决方案访问根子文件夹的每个子文件夹。这是递归问题。很难模拟我这边的问题。你能分享这个网址吗?