fix(性能测试): 修复上传附件没有修改路径的bug

This commit is contained in:
Captain.B 2021-03-08 17:14:51 +08:00
parent 44422224ca
commit 17867c5684
1 changed files with 34 additions and 7 deletions

View File

@ -132,11 +132,44 @@ public class JmeterDocumentParser implements DocumentParser {
} else if (nodeNameEquals(ele, CSV_DATA_SET)) {
processCsvDataSet(ele);
}
// 处理http上传的附件
if (isHTTPFileArg(ele)) {
processArgumentFiles(ele);
}
}
}
}
}
private void processArgumentFiles(Element element) {
NodeList childNodes = element.getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++) {
Node item = childNodes.item(i);
if (item instanceof Element && nodeNameEquals(item, STRING_PROP)) {
String filenameTag = ((Element) item).getAttribute("name");
if (StringUtils.equals(filenameTag, "File.path")) {
// 截取文件名
handleFilename(item);
break;
}
}
}
}
private void handleFilename(Node item) {
String separator = "/";
String filename = item.getTextContent();
if (!StringUtils.contains(filename, "/")) {
separator = "\\";
}
filename = filename.substring(filename.lastIndexOf(separator) + 1);
item.setTextContent(filename);
}
private boolean isHTTPFileArg(Element ele) {
return "HTTPFileArg".equals(ele.getAttribute("elementType"));
}
private void processCsvDataSet(Element element) {
NodeList childNodes = element.getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++) {
@ -145,13 +178,7 @@ public class JmeterDocumentParser implements DocumentParser {
String filenameTag = ((Element) item).getAttribute("name");
if (StringUtils.equals(filenameTag, "filename")) {
// 截取文件名
String separator = "/";
String filename = item.getTextContent();
if (!StringUtils.contains(filename, "/")) {
separator = "\\";
}
filename = filename.substring(filename.lastIndexOf(separator) + 1);
item.setTextContent(filename);
handleFilename(item);
break;
}
}