kootstra / robotframework-allurereport

This is a library for the Allure Framework and Robot Framework.
MIT License
21 stars 16 forks source link

Cannot deserialize value of type `ru.yandex.qatools.allure.model.SeverityLevel` from String "None" #7

Open m3nthal opened 6 years ago

m3nthal commented 6 years ago

Hi,

I am using Jenkins to run pabot and generate allure reports using the plugin. The command starts like this:

pabot --processes 5 --listener AllureReportLibrary.AllureListener:

Allure result are being created, but allure can't generate reports from them and I get:

com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `ru.yandex.qatools.allure.model.SeverityLevel` from String "None": value not one of declared Enum instance names: [trivial, blocker, minor, normal, critical]`

I've checked one of the ***-testsuite.xml:

<ns0:test-suite xmlns:ns0="urn:model.allure.qatools.yandex.ru" start="1515149544064" stop="1515149562565">
  <name>Tables</name>
  <title>Tables</title>
  <labels/>
  <test-cases>
    <test-case severity="None" start="1515149558734" status="passed" stop="1515149559230">
      <description>Test</description>
      <name>Test</name>
      <attachments/>
      <labels>
        <label name="issue" value="regression"/>
        <label name="issue" value="smoke"/>
        <label name="thread" value="PabotPoolId-1"/>
      </labels>
***

So it is indeed None. I've checked the code and the default should be normal. Am I right?

All the test cases have at least one tag: smoke, regression.

Here is relevant extract from jenkins build log:

12:02:11 [***] $ ***/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/default/bin/allure generate ***/allure-results -c -o ***/allure-report
12:02:12 Could not read result ***/allure-results/c4c9e1a5-12f4-404d-96bc-79eeb7ddb8da-testsuite.xml: {}
12:02:12 com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `ru.yandex.qatools.allure.model.SeverityLevel` from String "None": value not one of declared Enum instance names: [trivial, blocker, minor, normal, critical]
12:02:12  at [Source: (sun.nio.ch.ChannelInputStream); line: 6, column: 5] (through reference chain: ru.yandex.qatools.allure.model.TestSuiteResult["test-cases"]->java.util.ArrayList[0]->ru.yandex.qatools.allure.model.TestCaseResult["severity"])
12:02:12    at com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:67)
12:02:12    at com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(DeserializationContext.java:1548)
12:02:12    at com.fasterxml.jackson.databind.DeserializationContext.handleWeirdStringValue(DeserializationContext.java:910)
12:02:12    at com.fasterxml.jackson.databind.deser.std.EnumDeserializer._deserializeAltString(EnumDeserializer.java:255)
12:02:12    at com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserialize(EnumDeserializer.java:179)
12:02:12    at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:136)
12:02:12    at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:287)
12:02:12    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
12:02:12    at io.qameta.allure.allure1.ListDeserializer.deserialize(ListDeserializer.java:56)
12:02:12    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:244)
12:02:12    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27)
12:02:12    at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:136)
12:02:12    at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:287)
12:02:12    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
12:02:12    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4001)
12:02:12    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3058)
12:02:12    at io.qameta.allure.allure1.Allure1Plugin.readXmlTestSuiteFile(Allure1Plugin.java:432)
12:02:12    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
12:02:12    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
12:02:12    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
12:02:12    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
12:02:12    at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
12:02:12    at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)
12:02:12    at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
12:02:12    at io.qameta.allure.allure1.Allure1Plugin.readResults(Allure1Plugin.java:114)
12:02:12    at io.qameta.allure.ReportGenerator.lambda$readResults$0(ReportGenerator.java:32)
12:02:12    at java.util.ArrayList.forEach(ArrayList.java:1249)
12:02:12    at io.qameta.allure.ReportGenerator.readResults(ReportGenerator.java:32)
12:02:12    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
12:02:12    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
12:02:12    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
12:02:12    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
12:02:12    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
12:02:12    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
12:02:12    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
12:02:12    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
12:02:12    at io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:54)
12:02:12    at io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:43)
12:02:12    at io.qameta.allure.Commands.generate(Commands.java:89)
12:02:12    at io.qameta.allure.CommandLine.run(CommandLine.java:129)
12:02:12    at java.util.Optional.orElseGet(Optional.java:267)
12:02:12    at io.qameta.allure.CommandLine.main(CommandLine.java:72)
ghost commented 6 years ago

Is it setup/teardown? There is a bug with them.

ghost commented 6 years ago

Also, I've fixed it here, but I haven't fixed bug with threading and pabot in python 3. https://github.com/okgolove/robotframework-allurereport/commit/40836d0593fbee0ea1f294ae7c2a8850e4559529#diff-918994252d8f5d35a0fc3061c49311bbR93

You can modify library locally.

m3nthal commented 6 years ago

Yes, the tests have setup and teardown