我需要使用 HTTP 请求在 JMeter 中加载多个文件。我们可以使用单个 HTTP 请求吗?文件采用 JSON 格式。是否可以使用单个 HTTP 请求。
或者我需要执行多个 HTTP 请求。我有 10,000 个文件要提取,我需要将其自动化。
答案 0 :(得分:0)
两种选择都可以
单个请求,多个文件 - 您必须使用 JSR223 PreProcessor 和 Groovy 语言编写一些脚本,示例代码:
import org.apache.commons.io.FileUtils
import org.apache.commons.io.filefilter.TrueFileFilter
import org.apache.jmeter.protocol.http.util.HTTPFileArg
def files = FileUtils.listFiles(new File("/path/to/folder/with/your/json/files"), TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE)
def arguments = []
files.eachWithIndex { file, index ->
arguments.add(new HTTPFileArg(file.getAbsolutePath(), "your_parameter_name", "application/json"))
}
多个请求,每个请求一个文件 - 最简单的选择是使用 Directory Listing Config 插件
答案 1 :(得分:0)
我尝试在文件上传中添加文件
我应该添加哪个路径.... def files = FileUtils.listFiles(new File("C:\Users\surisi\Documents\Jmeter\JSON_INPUTS\FULL"), TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE)
答案 2 :(得分:-1)
import org.apache.commons.io.FileUtils
导入 org.apache.commons.io.filefilter.TrueFileFilter 导入 org.apache.jmeter.protocol.http.util.HTTPFileArg
def files = FileUtils.listFiles(new File("C:\Users\surisi\source\repos\Product\src\AzureFunctions\Common.Test.Data\Articles\Full\7635.json"), TrueFileFilter.INSTANCE , TrueFileFilter.INSTANCE)
def 参数 = []
files.eachWithIndex { 文件,索引 -> arguments.add(new HTTPFileArg(file.getAbsolutePath(), "Content-Type", "application/json"))