1

我正在设置一个按顺序运行此线程组的测试计划:

  1. 使用 10 个线程、500 个循环执行请求 A。
  2. 使用 10 个线程、500 个循环和步骤 1 的输出执行请求 B。

我的问题是:在每个请求 A 上,我都会收到一个需要传递给请求 B 的 ID。存储所有 ID 然后在步骤 2 中使用它们的最佳方法是什么?

此时,我正在“JSonExtracting”响应中的每个 ID 并存储在 CSV 文件中以传递到步骤 2。问题是踏板的并发。有时我在文件或连接字符串上有空点,这将在步骤 2 中产生错误。我无法将其存储到数组变量中以在步骤 2 中使用。

要将 ID 写入文件,我在我的线程组内的 BeanShell 侦听器上使用此代码。我坚信这不是最正确的方法。


    f = new FileOutputStream("${DocumentIdsFile}", true);
    p = new PrintStream(f); 
    p.println("${DocumentId}");

    p.close();
    f.close();

    log.info("Id: ${Id}");

我该如何解决这个并发问题?

4

1 回答 1

0

如果您在请求 A 处收到一个 ID,只需在请求 B 中使用它,并通过变量传递它:

  1. 解析请求中的 ID 值 使用后处理器之一的响应将其存储在变量中,例如"ID".
  2. 在您的请求 B中使用它的值作为参数:

    GET https://myserver.com/myapp/getSomethig/${ID}

于 2019-01-15T06:15:24.477 回答