【发布时间】:2018-07-03 05:21:20
【问题描述】:
我正在使用 JMeter 3.2。 我的要求是从磁盘读取一个 XML 文件,用动态值替换一些标签,以确保每个线程发送一个唯一的 xml 文件上传(不是 SOAP 请求)。当我尝试使用带有 ${newfilename} 文件 text/xml 的 http 采样器通过 POST 上传新文件时,JSR223 采样器中的以下代码工作得非常好。
import org.apache.commons.io.FileUtils;
try {
String content = FileUtils.readFileToString(new File("E:/test.xml"));
content = content.replaceAll("SUB_ID", "${__UUID}");
content = content.replaceAll("ABN_ID", "${empabn}");
content = content.replaceAll("EMPNAME", "${empname}");
vars.put("content", content);
FileUtils.writeStringToFile(new File("E:/testnew${empname}.xml"), content);
}
catch (Throwable ex) {
log.info("What happened?", ex);
throw ex;
}
如何将字符串“content”的内容作为请求正文的一部分发送,而不是再次写入磁盘并再次上传?我看过很多关于输入输出流的帖子,但它们令人困惑。当我尝试在正文中仅发送 ${content} 时,应用程序会引发以下错误:
HTTP Status 500 - Could not write JSON: Name is null (through reference chain: com.xxx.xxx.datafile.rest.DataFileResponse["validationStatus"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Name is null (through reference chain:
感谢您的帮助。
【问题讨论】:
标签: file-upload jmeter