How to generate reports in Behave-Python?

前端 未结 5 990
野趣味
野趣味 2020-12-17 03:35

For Java there are external report generation tools like extent-report,testNG. The Junit produces the xml format output for individual feature file. To get a detailed report

5条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-17 03:37

    I know this question was asked/answered quite sometime ago.

    But I thought of giving the solution which worked for me.

    The Cucumber json schema differs from Behave ones. So you can't use the json created by behave to generate html reports using Cucumber Reports plugin. When I tried behave json with cucumber reports, this is what I got and you would also see NPE for uri since cucumber json was expecting to have uri exists but the behave json doesn't have uri hence NPE.

    `[CucumberReport] Processing 1 json files: 
     [CucumberReport] /var/lib/jenkins/jobs/behave-test/builds/14/cucumber-html- 
                      reports/.cache/results.json
     [CucumberReport] Missing report result - report was not successfully completed
     [CucumberReport] Build status is left unchanged`
    

    You would see report was not successfully completed.

    So I installed behave2cucumber to convert behave json into cucumber json.

    pip install behave2cucumber

    Then have an additional step like below.

    python -m behave2cucumber -i behave_json.json -o cucumber_json.json

    -i represents input file in our case json file generated by behave

    -o represents output file in our case cucumber compatible json file

    cucumber_json.json would have the uri field populated which were missing behave json.

    It works like charm.

    Hope it helps.

提交回复
热议问题