
com.github.automatedowl.tools.AllureEnvironmentWriter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of allure-environment-writer Show documentation
Show all versions of allure-environment-writer Show documentation
Java library which allows to write environment.xml file into allure-results directory.
The newest version!
package com.github.automatedowl.tools;
import com.google.common.collect.ImmutableMap;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
public class AllureEnvironmentWriter {
public static void allureEnvironmentWriter(ImmutableMap environmentValuesSet) {
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element environment = doc.createElement("environment");
doc.appendChild(environment);
environmentValuesSet.forEach((k, v) -> {
Element parameter = doc.createElement("parameter");
Element key = doc.createElement("key");
Element value = doc.createElement("value");
key.appendChild(doc.createTextNode(k));
value.appendChild(doc.createTextNode(v));
parameter.appendChild(key);
parameter.appendChild(value);
environment.appendChild(parameter);
});
// Write the content into xml file
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
File allureResultsDir = new File( System.getProperty("user.dir")
+ "/target/allure-results");
if (!allureResultsDir.exists()) allureResultsDir.mkdirs();
StreamResult result = new StreamResult(
new File( System.getProperty("user.dir")
+ "/target/allure-results/environment.xml"));
transformer.transform(source, result);
System.out.println("Allure environment data saved.");
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
}
public static void allureEnvironmentWriter(ImmutableMap environmentValuesSet,
String customResultsPath) {
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element environment = doc.createElement("environment");
doc.appendChild(environment);
environmentValuesSet.forEach((k, v) -> {
Element parameter = doc.createElement("parameter");
Element key = doc.createElement("key");
Element value = doc.createElement("value");
key.appendChild(doc.createTextNode(k));
value.appendChild(doc.createTextNode(v));
parameter.appendChild(key);
parameter.appendChild(value);
environment.appendChild(parameter);
});
// write the content into xml file
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
File allureResultsDir = new File(customResultsPath);
if (!allureResultsDir.exists()) allureResultsDir.mkdirs();
StreamResult result = new StreamResult(
new File( customResultsPath + "environment.xml"));
transformer.transform(source, result);
System.out.println("Allure environment data saved.");
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy