From 3663d4c356edb171d3cef9021795c4554a80500f Mon Sep 17 00:00:00 2001 From: CaptainB Date: Mon, 11 Apr 2022 11:36:34 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=80=A7=E8=83=BD=E6=B5=8B=E8=AF=95):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=80=A7=E8=83=BD=E6=B5=8B=E8=AF=95=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E4=BC=A0=E6=97=B6=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E8=BD=AC=E5=8C=96=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1012020 --user=刘瑞斌 【接口测试】github #12379,在接口自动化上传文件成功,转成性能测试后报错fileNotFound,因为路径没有转换 https://www.tapd.cn/55049933/s/1132266 Closes #12379 --- .../xml/reader/JmeterDocumentParser.java | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/backend/src/main/java/io/metersphere/performance/parse/xml/reader/JmeterDocumentParser.java b/backend/src/main/java/io/metersphere/performance/parse/xml/reader/JmeterDocumentParser.java index 6d4d13774d..6b0ab74116 100644 --- a/backend/src/main/java/io/metersphere/performance/parse/xml/reader/JmeterDocumentParser.java +++ b/backend/src/main/java/io/metersphere/performance/parse/xml/reader/JmeterDocumentParser.java @@ -186,37 +186,37 @@ public class JmeterDocumentParser implements EngineSourceParser { private void processArgumentFiles(Element element) { List childNodes = element.elements(); + if (childNodes.size() == 0) { + return; + } for (Element item : childNodes) { - if (isHTTPFileArgs(item)) { - List elementProps = item.elements(); - for (Element eleProp : elementProps) { - List strProps = eleProp.elements(); - for (Element strPop : strProps) { - if (StringUtils.equals(strPop.attributeValue("name"), "File.path")) { - // 截取文件名 - handleFilename(strPop); - break; - } - } - } - - + processArgumentFiles(item); + if (StringUtils.equals(item.attributeValue("name"), "File.path")) { + // 截取文件名 + handleFilename(item); + } + if (StringUtils.equals(item.attributeValue("elementType"), "HTTPFileArg")) { + // 截取文件名 + String filename = item.attributeValue("name"); + filename = extractFilename(filename); + item.addAttribute("name", filename); } } } - private void handleFilename(Node item) { + private String extractFilename(String filename) { String separator = "/"; - String filename = item.getText(); if (!StringUtils.contains(filename, "/")) { separator = "\\"; } filename = filename.substring(filename.lastIndexOf(separator) + 1); - item.setText(filename); + return filename; } - private boolean isHTTPFileArgs(Element ele) { - return "HTTPFileArgs".equals(ele.attributeValue("elementType")); + private void handleFilename(Node item) { + String filename = item.getText(); + filename = extractFilename(filename); + item.setText(filename); } private void processCsvDataSet(Element element) {