'How to generate reports in Behave-Python?
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, I don't see an option or wide approach or solution within the Behave framework.
How to produce the reports in Behave, do any other tools or framework needs to be added for the report generation in Behave?
Solution 1:[1]
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.
Solution 2:[2]
Because my automations which using behave are all running on Jenkins so I can use the Jenkins plugin to display my junit report.
I think this question might help you: How can I generate an HTML report for Junit results?
You can use your junit result from behave and follow some of the top answers in this question.
BTW, if you would like to use jenkins and if you need 'good-looking' html report of behave, I would suggust you to make behave generating json output for you and display the json output using reporter of cucumber.
Solution 3:[3]
Behave can also generate reports in jUnit XML format. You can enable this feature simply by adding --junit to the commandline [1]. More info about formatters and reporters here [2].
$ behave --junit
[1] http://pythonhosted.org/behave/behave.html?highlight=#cmdoption--junit
Solution 4:[4]
Steps to generate allure report in Python
behave framework.
Install the allure
pip install allure-behave
Download the Allure exe file https://bintray.com/qameta/generic/allure2/2.6.0#files/io%2Fqameta%2Fallure%2Fallure%2F2.6.0
Extract it and add the bin path into the environment variable(system variable path).
C:\Users\arya\Downloads\allure-2.6.0\allure-2.6.0\bin
Open
cmd
prompt and go where thexml
report is present and give the belowcmd
.Type allure generate and give the path where your
xml
files are present.D:\automation\api\reports>allure generate D:\automation\api\reports
Report successfully generated to allure-report
Go to
D:\automation\api\reports\allure-report
and open theindex.html
file onMicrosoft Edge
browser.
Allure report is not working in Chrome
or Firefox
or IE
browser.
Solution 5:[5]
To have the possibility of generaring execution reports in an easy way, we have implemented the following wrapper on top of Behave, called BehaveX, that not only generates reports in HTML format, but also in xml and json formats. It also allows us to execute tests in parallel and provides some additional features that simplify the implementation of agile practices: https://github.com/hrcorval/behavex
Solution 6:[6]
What version of pip are you using ? Try updating pip and reinstalling the package Or you can try installing the pre 10 release using $ pip install httpx --pre as stated in the httpx docs https://www.python-httpx.org/
Solution 7:[7]
Ok, I finally solved the error after 1 month, all you got to do is:
pip uninstall httpcore
then
pip install httpcore[http2]
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Thayz |
Solution 2 | Community |
Solution 3 | jgiralt |
Solution 4 | milanbalazs |
Solution 5 | |
Solution 6 | Global-Occult |
Solution 7 | Takaso2 |