HTTP 请求中文件协议的使用



建议使用 HTTP 请求读取文件,以便在线程之间传递变量。

例如,您可以在一个线程中使用对文件侦听器或 BeanShell PostProcessor 的保存响应,并使用 HTTP Sampler "file:" 协议读取文件,并使用 PostProcessor 提取信息

哪个有效,但是应该忽略文档中的警告吗?

注意:FILE 协议仅用于测试目的。无论使用哪个 HTTP 采样器,它都由相同的代码处理。

使用文件协议是/何时安全/良好做法,还是已弃用/不良做法?

使用
  1. Beanshell PostProcessor 绝对是一个不好的做法,因为 JMeter 3.1 你应该使用 JSR223 Test Elements 和 Groovy 语言
  2. 写入和读取文件可能会导致大量的磁盘 IO 开销,这将成为脚本的瓶颈,尤其是在高负载时。此外,内存中的操作将比在文件系统中写入/读取文件要快得多

假设以上所有:

尽管如果您需要从文件系统上的文件中读取数据file使用协议没有错,但最好避免使用这些临时文件并使用内存在线程之间传递数据,选项位于:

  1. 在第一个线程组中使用 __setProperty() 函数存储值,在其他线程组中使用 __P() 函数读取以前存储的值
  2. 使用线程间通信插件,该
  3. 插件可用于在线程之间传递变量,即使它们位于不同的线程组中(有关实际用例,请参阅 SynchronizationExample.jmx)。线程间通信插件可以使用JMeter插件管理器安装

最新更新