refactor(性能测试): 性能测试转出jmx格式化修改
This commit is contained in:
parent
1f0161b190
commit
e3d3b34f8f
|
@ -1,19 +1,25 @@
|
|||
package io.metersphere.performance.parse;
|
||||
|
||||
import io.metersphere.commons.constants.FileType;
|
||||
import io.metersphere.commons.utils.LogUtil;
|
||||
import io.metersphere.performance.parse.xml.reader.JmeterDocumentParser;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.DocumentException;
|
||||
import org.dom4j.Node;
|
||||
import org.dom4j.io.OutputFormat;
|
||||
import org.dom4j.io.SAXReader;
|
||||
import org.dom4j.io.XMLWriter;
|
||||
import org.xml.sax.SAXException;
|
||||
import org.xml.sax.helpers.XMLFilterImpl;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.List;
|
||||
|
||||
public class EngineSourceParserFactory {
|
||||
public static final boolean IS_TRANS = true;
|
||||
public static final boolean IS_TRANS = false;
|
||||
|
||||
|
||||
public static EngineSourceParser createEngineSourceParser(String type) {
|
||||
|
@ -35,8 +41,28 @@ public class EngineSourceParserFactory {
|
|||
}
|
||||
|
||||
public static byte[] getBytes(Document document) throws Exception {
|
||||
// todo 格式化代码会导致前后置脚本缩进有问题,先使用基本方式
|
||||
return document.asXML().getBytes(StandardCharsets.UTF_8);
|
||||
OutputFormat format = new OutputFormat();
|
||||
format.setIndentSize(2);
|
||||
format.setNewlines(true);
|
||||
format.setPadText(true);
|
||||
format.setTrimText(false);
|
||||
try (
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
) {
|
||||
// 删除空白的行
|
||||
List<Node> nodes = document.selectNodes("//text()[normalize-space(.)='']");
|
||||
nodes.forEach(node -> node.setText(""));
|
||||
|
||||
XMLWriter xw = new XMLWriter(out, format);
|
||||
xw.setEscapeText(IS_TRANS);
|
||||
xw.write(document);
|
||||
xw.flush();
|
||||
xw.close();
|
||||
return out.toByteArray();
|
||||
} catch (IOException e) {
|
||||
LogUtil.error(e);
|
||||
}
|
||||
return new byte[0];
|
||||
}
|
||||
|
||||
public static XMLFilterImpl getFilter() {
|
||||
|
|
|
@ -1127,9 +1127,6 @@ public class JmeterDocumentParser implements EngineSourceParser {
|
|||
}
|
||||
|
||||
private void removeChildren(Element node) {
|
||||
List<Element> elements = node.elements();
|
||||
for (Element ele : elements) {
|
||||
node.remove(ele);
|
||||
}
|
||||
node.setText("");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue