Cómo agregar una opción al informe Cucumber para eliminar escenarios que tienen una etiqueta determinada
Quiero tener una opción en el informe de pepino para silenciar/ocultar escenarios con una etiqueta determinada de los resultados y números.
Tenemos una construcción de bambú que ejecuta nuestro repositorio de características y escenarios de karate. Al final produce bonitos informes HTML de pepino. En "overview-features.html" me gustaría que se agregara una opción en la parte superior derecha, que incluye "Funciones", "Etiquetas", "Pasos" y "Fallos", que diga "Errores excluidos" o algo así. . Cuando se hace clic en él, se proporciona exactamente la misma información que el archivo Overview-features.html, excepto que cualquier escenario etiquetado con una etiqueta especial, por ejemplo @bug=abc-12345, se elimina del informe y se excluye de los números.
Por qué necesito esto. Tenemos algunos escenarios existentes que fallan. Fallan debido a defectos en nuestro propio software, que pueden tardar entre 6 meses y un año en solucionarse. Los hemos etiquetado con una etiqueta específica, "@bug=abc-12345". Los quiero silenciados/excluidos del informe de pepino que se produce al final de la compilación de bambú para karate para poder ver rápidamente la cantidad de funciones/escenarios pasados y ver si es 100% o no. Si es así, genial, esa construcción es buena. De lo contrario, necesito investigarlo más a fondo, ya que parece que estamos teniendo cierta regresión. Sin estos escenarios que se espera que fallen y que sigan fallando hasta que se resuelvan, es muy tedioso y requiere mucho tiempo revisar todos los informes de archivos de características individuales, observar los escenarios fallidos y luego investigar por qué. No quiero que se eliminen por completo, ya que cuando empiezan a desaparecer necesito saberlo para poder regresar y eliminar la etiqueta del escenario.
¿Alguna idea sobre cómo lograr esto?
Karate 1.0 ha revisado el sistema de informes con los siguientes cambios clave.
- Después de
Runner
completar, puedes analizar los resultados e incluso volver a intentar algunas pruebas. - puedes inyectar un renderizador de informes HTML personalizado
Esto requerirá que entres en detalles (parte de esto aún no está documentado) y escribas algo de código Java. Si esa no es una opción, debes considerar que lo que estás pidiendo no está respaldado por Karate.
Si está dispuesto a seguir ese camino, aquí tiene los enlaces que necesita para comenzar.
a) Ejemplo de cómo "publicar proceso" los datos de resultados antes de generar un informe: RetryTest.java
y también consulte https://stackoverflow.com/a/67971681/143475
b) El código responsable de los informes "conectables", donde se puede implementar una novedad SuiteReports
en teoría. Y en Runner
, hay un suiteReports()
método al que puede llamar para proporcionar su implementación.
También tenga en cuenta que existe una palabra clave experimental "doc", mediante la cual puede insertar HTML personalizado en un informe de prueba: https://twitter.com/getkarate/status/1338892932691070976
Ver también: https://twitter.com/KarateDSL/status/1427638609578967047