/** Write the junit report xml file. */ private void writeJunitReportToFile() { try { final String directory = String.valueOf(targetDirectory) + "/surefire-reports"; FileUtils.forceMkdir(new File(directory)); final StringBuilder b = new StringBuilder(directory) .append("/TEST-") .append(DeviceHelper.getDescriptiveName(device)); if (StringUtils.isNotBlank(reportSuffix)) { // Safety first b.append(reportSuffix.replace("/", "").replace("\\", "")); } final File reportFile = new File(b.append(".xml").toString()); final JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class); final Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.marshal(report, reportFile); getLog().info(deviceLogLinePrefix + "Report file written to " + reportFile.getAbsolutePath()); } catch (IOException e) { threwException = true; exceptionMessages.append("Failed to write test report file"); exceptionMessages.append(e.getMessage()); } catch (JAXBException e) { threwException = true; exceptionMessages.append("Failed to create jaxb context"); exceptionMessages.append(e.getMessage()); } }