¿Cómo generar informes en Behave-Python?

Para Java, existen herramientas externas de generación de informes, como por ejemplo, informe de extensión, testNG Junit produce la salida en formato xml para un archivo de características individual. Para obtener un informe detallado, no veo una opción o un enfoque o solución amplia dentro del marco de Behave.

¿Cómo producir los informes en Behave? ¿Es necesario agregar alguna otra herramienta o marco para la generación de informes en Behave?

Debido a que mis automatizaciones que utilizan el comportamiento se ejecutan, todas se ejecutan en Jenkins, por lo que puedo usar el complemento de Jenkins para mostrar mi informe junit.

Creo que esta pregunta podría ayudarlo: ¿Cómo puedo generar un informe HTML para los resultados de Junit?

Puedes usar tu resultado de junit de behave y seguir algunas de las mejores respuestas en esta pregunta.

Por cierto, si desea utilizar jenkins y necesita un informe html de buen aspecto, le sugiero que se comporte generando la salida json para usted y muestre la salida json utilizando el reportero de cucumber.

Puede generar el informe de Allure para sus pruebas de comportamiento.

Primero necesitas instalar el formateador Allure Behave:

 $ pip install allure-behave 

Luego especifique el formateador cuando ejecute sus pruebas:

 $ behave -f allure_behave.formatter:AllureFormatter -o %allure_result_folder% ./features 

Esto generará el informe JSON para %allure_result_folder% . Luego, para ver el informe HTML, puede usar la línea de comandos de Allure (también están disponibles los complementos para Jenkins / TeamCity / Bamboo)

 $ allure serve %allure_result_folder% 

Para más detalles sobre el informe Allure puede ver los documentos .

Behave también puede generar informes en formato jUnit XML. Puede habilitar esta función simplemente agregando –junit a la línea de comandos [1]. Más información sobre formateadores y reporteros aquí [2].

$ behave –junit

[1] http://pythonhosted.org/behave/behave.html?highlight=#cmdoption–junit

[2] http://pythonhosted.org/behave/formatters.html

Sé que esta pregunta fue formulada / contestada hace bastante tiempo.

Pero pensé en dar la solución que funcionó para mí.

El esquema de pepino json difiere de los de comportamiento. Por lo tanto, no puede usar el json creado por behave para generar informes html utilizando el complemento Informes de pepino. Cuando probé los comportamientos de json con informes de pepino, esto es lo que obtuve y también vería NPE para uri ya que pepino json esperaba que existiera uri, pero json no tiene uri, por lo tanto, 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` 

Vería el informe no se completó con éxito.

Así que instalé behave2cucumber para convertir behave json en cucumber json.

pip install behave2cucumber

Luego tiene un paso adicional como el de abajo.

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

-i representa el archivo de entrada en nuestro caso el archivo json generado por behave

-o representa el archivo de salida en nuestro caso archivo compatible con pepino json

cucumber_json.json tendría el campo uri poblado que faltaba, compórtese json.

Funciona como el encanto.

Espero eso ayude.