【发布时间】:2018-05-09 20:31:10
【问题描述】:
我正在使用 Allure 框架来生成测试报告。 在测试框架中用作 maven 依赖项。
在 jenkins 中运行测试时,Allure 按预期创建了报告,但是控制台中很少有由 allure 生成的 xml 文件的异常。 Allure 正在从测试信息创建 xml 文件,但是它从 html/JSON 格式的 rest API 响应生成 xml 文件,并且由于它不是有效的 xml 文件,因此引发了 Sax Parser 异常。
我无法理解如何解决这些异常。
下面是异常的sn-p [致命错误] da669b14-4d30-4260-8815-eab1f720661b-attachment.xml:1:1:prolog 中不允许内容。 无法解析文件 /home/jenkins/workspace/xxx_trunk-H4U6TKVVIR44VYBZR7Q53HWUDRP5C3JJEEVZOEYQTCQK53LROIJA/.ci-reports/allure-results/da669b14-4d30-4260-8815-eab1f720661b-attachment.xml:{} org.xml.sax.SAXParseException; systemId:文件:/home/jenkins/workspace/amp-adengine_trunk-H4U6TKVVIR44VYBZR7Q53HWUDRP5C3JJEEVZOEYQTCQK53LROIJA/.ci-reports/allure-results/da669b14-4d30-4260-8815-eab1f720661b-attachment.xml;行号:1;列号:1;序言中不能有内容。 在 com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257) 在 com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339) 在 javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205) 在 io.qameta.allure.junitxml.JunitXmlPlugin.parseRootElement(JunitXmlPlugin.java:97) 在 io.qameta.allure.junitxml.JunitXmlPlugin.lambda$readResults$0(JunitXmlPlugin.java:87) 在 java.util.ArrayList.forEach(ArrayList.java:1249) 在 io.qameta.allure.junitxml.JunitXmlPlugin.readResults(JunitXmlPlugin.java:87) 在 io.qameta.allure.ReportGenerator.lambda$readResults$0(ReportGenerator.java:32) 在 java.util.ArrayList.forEach(ArrayList.java:1249) 在 io.qameta.allure.ReportGenerator.readResults(ReportGenerator.java:32) 在 java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) 在 java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) 在 java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) 在 java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) 在 java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) 在 java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) 在 java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 在 java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) 在 io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:54) 在 io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:43) 在 io.qameta.allure.Commands.generate(Commands.java:89) 在 io.qameta.allure.CommandLine.run(CommandLine.java:129) 在 java.util.Optional.orElseGet(Optional.java:267) 在 io.qameta.allure.CommandLine.main(CommandLine.java:72)
来自 API 的响应将始终是 HTML/JSON,并且永远不会是 xml 响应。 有人可以指导我解决这些异常吗?
【问题讨论】:
标签: rest testing saxparser allure