Releases: zahori-io/zahori-server
Xray Cloud integration
Cambios:
- Añadida integration con Jira Xray Cloud
- Mejoras visuales y corrección de errores
- Actualización de las versiones de los navegadores: Chrome 120.0, Edge 120.0, Firefox 120.0 y Opera 105.0
Pasos para actualizar el servidor de zahori a esta versión:
- Para el servidor si se está ejecutando.
- Ejecuta el comando
git pull
desde la carpeta donde se encuentre zahori-server. - Aranca de nuevo el servidor.
Pasos para actualizar los procesos de zahori a esta versión del servidor:
- Para el proceso si se está ejecutando.
- Actualiza la versión del framework de zahorí a la 0.2.15 (fichero pom.xml del proyecto):
<dependency>
<groupId>io.zahori</groupId>
<artifactId>zahori-framework</artifactId>
<version>0.2.15</version>
</dependency>
Pasos para configurar la integración con Jira Xray Cloud:
-
Crea las credenciales en Xray (Client Id y Client Secret):
https://docs.getxray.app/display/XRAYCLOUD/Global+Settings%3A+API+Keys -
Configura el repositorio en el servidor
2.1. En la página de Gestión de repositorios añade un repositorio de tipo "Xray Cloud" y define las credenciales del usuario (Client Id y Client Secret) creadas en el paso anterior:
2.2. En la página de Casos añade un nuevo campo con el nombre TMS_TC_ID y posteriormente asigna como valor de este campo en cada fila el ID del TestCase en Jira al que asociar cada Caso de Zahorí:
2.3. En la página de Configuraciones selecciona una configuración y activa el selector "Guardar resultados en repositorio" y en el combo selecciona el repositorio "Xray Cloud". Activa también el tipo de evidencia "Doc" para que se adjunte en los resultados de Xray.
- Sube los resultados a Xray: Desde el Disparador selecciona la configuración que has modificado en el paso anterior y a continuación elige una de las siguiente opciones:
3.A. Subir los resultados a un Test Execution existente: Selecciona la opción "Asociar a test execution" y rellena en el siguiente campo el ID de Jira del Test Execution al cual subir los resultados:
3.B. Subir los resultados creando un nuevo Test Execution y asociarlo a un Test Plan existente. Selecciona la opción "Crear nuevo test execution" e introduce el título que tendrá el Test Execution nuevo y el ID del Test Plan al que asociar el nuevo Test Execution:
3.C. Subir los resultados creando un nuevo Test Execution sin asociarlo a un Test Plan. Selecciona la opción "Crear nuevo test execution" e introduce el título que tendrá el Test Execution nuevo. Deja en blanco el campo Test Plan Id:
Notifications
Cambios:
- Notificaciones: añadida nueva funcionalidad para recibir notificaciones por email cuando termina una ejecución. El usuario puede elegir desde su página de perfil las situaciones en las que será notificado:
- Ejecución manual con resultado OK.
- Ejecución manual con resultado KO.
- Ejecución programada con resultado OK.
- Ejecución programada con resultado KO.
El usuario recibirá un email con el resultado global de la ejecución y el resultado de cada caso ejecutado en los diferentes navegadores y resoluciones:
- Actualización de versiones de los navegadores de selenoid: Chrome 118.0, Firefox 118.0 y Opera 104.
Pasos para actualizar el servidor de zahori a esta versión:
- Para el servidor si se está ejecutando.
- Ejecuta el comando
git pull
desde la carpeta donde se encuentre zahori-server. - Aranca de nuevo el servidor.
Pasos para actualizar los procesos de zahori a esta versión del servidor:
- Actualiza las versiones del framework de zahorí y de Selenium (fichero pom.xml):
<properties>
...
<selenium.version>4.15.0</selenium.version>
<zahori-framework.version>0.2.13</zahori-framework.version>
...
</properties>
v0.1.18
Cambios:
- Añadido un nuevo servicio para enviar emails (para poder recibir notificaciones, resetear la contraseña en caso de olvido, etc). Puedes ver cómo activar y configurar este servicio al final de esta release notes. Si el servicio se activa y el usuario no tiene un email configurado, se le pedirá al iniciar sesión.
- Añadida nueva funcionalidad para la gestión del email en la ṕagina del perfil del usuario.
- Habilitado el login mediante email o nombre de usuario.
- Se guarda en base de datos la preferencia de idioma del usuario.
- Añadida nueva funcionalidad para restablecer la contraseña en caso de olvido desde la página de login (requiere activar el servicio de envío de emails y que el usuario tenga configurado su correo electrónico).
- En el olvido o cambio de contraseña se pide al usuario la utilización de contraseñas seguras: Las nuevas contraseña deben contener al menos una letra minúscula, una mayúscula, un número, un carácter especial y tener una longitud mínima de 8 caracteres.
- Añadido el tiempo de duración de cada paso ejecutado. Se puede consultar al ver el detalle de la ejecución de un caso. (Requiere uso de la versión 0.2.12 del framework en el proceso).
- Añadido en el detalle de ejecución de un caso un nuevo gráfico que representa el rendimiento histórico del caso basado en la duración de los pasos.
- Actualización de versiones de los navegadores de selenoid: Chrome 117.0, Edge 114.0, Firefox 117.0, Opera 102 y Safari 15.
Pasos para actualizar el servidor de zahori a esta versión:
- Para el servidor si se está ejecutando.
- Ejecuta el comando
git pull
desde la carpeta donde se encuentre zahori-server. - Aranca de nuevo el servidor.
Pasos para actualizar los procesos de zahori a esta versión del servidor:
- Actualiza la versión del framework de zahorí a la 0.2.12 (fichero pom.xml):
<dependency>
<groupId>io.zahori</groupId>
<artifactId>zahori-framework</artifactId>
<version>0.2.12</version>
</dependency>
Pasos para activar y configurar el servicio de envío de emails:
- En el fichero docker-compose.yaml del servidor, define las siguientes variables de entorno para el servicio
zahori-server
en función del servidor de correo que quieras utilizar:
1.a Para utilizar Gmail como servidor de envío de correos:
zahori-server:
...
environment:
- ZAHORI_EMAIL_ENABLE=true
- ZAHORI_EMAIL_HOST=smtp.gmail.com
- ZAHORI_EMAIL_PORT=587
- ZAHORI_EMAIL_USER=<GMAIL_USER>
- ZAHORI_EMAIL_PASS=<GMAIL_PASSWORD>
- ZAHORI_EMAIL_STARTTLS=true
1.b Para utilizar Outlook como servidor de envío de correos:
zahori-server:
...
environment:
- ZAHORI_EMAIL_ENABLE=true
- ZAHORI_EMAIL_HOST=smtp-mail.outlook.com
- ZAHORI_EMAIL_PORT=587
- ZAHORI_EMAIL_USER=<OUTLOOK_USER>
- ZAHORI_EMAIL_PASS=<OUTLOOK_PASSWORD>
- ZAHORI_EMAIL_STARTTLS=true
1.c Para otros servidores corporativos:
zahori-server:
...
environment:
- ZAHORI_EMAIL_ENABLE=true
- ZAHORI_EMAIL_HOST=<EMAIL_SERVER_IP_OR_DOMAIN>
- ZAHORI_EMAIL_PORT=<EMAIL_SERVER_PORT>
- ZAHORI_EMAIL_USER=<EMAIL_SERVER_USER>
- ZAHORI_EMAIL_PASS=<EMAIL_SERVER_PASSWORD>
- ZAHORI_EMAIL_STARTTLS=<true|false>
IMPORTANTE
Para una mejor seguridad no escribas tus contraseñas en el fichero docker-compose.yaml directamente, en su lugar puedes definir mejor una variable de entorno con la contraseña y utilizarla en el fichero de la siguiente manera:
- ZAHORI_EMAIL_PASS=${EMAIL_SERVER_PASSWORD}
v0.1.17 Scheduled executions
Cambios:
- Nueva funcionalidad: creación de ejecuciones programadas.
- Actualización de versiones de los navegadores de selenoid: chrome 114.0, edge 114.0, firefox 114.0 y Opera 98.
Pasos para actualizar el servidor de zahori a esta versión:
- Para el servidor si se está ejecutando.
- Ejecuta el comando
git pull
desde la carpeta donde se encuentre zahori-server. - Aranca de nuevo el servidor.
Pasos para realizar una ejecución programada:
- En el disparador activa el selector "Periódica" y selecciona la hora y los días que quieres que se realice la ejecución:
- Al pulsar el botón "Ejecutar" se creará la ejecución programada. Desde la página Programador podrás visualizar las programaciones actules, modificarlas, activarlas/desactivarlas y eliminarlas:
- Cuando llegue el día y hora indicado en la ejecución programada, automáticamente se lanzará la ejecución y podrás visualizar los resultados en la página Últimas ejecuciones:
v0.1.16
Cambios:
- Se ha reemplazado el servidor Eureka por Consul, eliminando los tiempos de espera en el registro y descubrimiento de los procesos.
La interfaz web de Consul se puede consultar en: http://localhost:8500 - Añadido balanceo de carga desde el servidor, pudiendo tener varias instancias del mismo proceso y el servidor balanceará las peticiones entre los procesos automáticamente.
- Se han eliminado las dependencias de spring en el proceso, pasando a gestionarlas el framework de forma transparente.
- Actualización de versiones de los navegadores de selenoid: chrome 110.0, edge 110.0 y firefox 110.0.
Pasos para actualizar el servidor de zahori a esta versión:
- Para el servidor si se está ejecutando.
- Ejecuta el comando
git pull
desde la carpeta donde se encuentre zahori-server. - Aranca de nuevo el servidor.
Pasos para actualizar los procesos de zahori a esta versión del servidor:
- Para el proceso si se está ejecutando.
- Actualiza la versión de java en el fichero pom.xml:
<java.version>17</java.version>
- Actualiza la versión del framework de zahorí a la 0.2.3 (fichero pom.xml):
<dependency>
<groupId>io.zahori</groupId>
<artifactId>zahori-framework</artifactId>
<version>0.2.3</version>
</dependency>
- Elimina todas las dependencias de spring definidas en el fichero pom.xml (ahora son manejadas por el framework de zahori):
Elimina todas las dependencias que contengan como<groupId>
el valororg.springframework
- Reemplaza las siguientes líneas de Eureka en el fichero application.properties:
############## EUREKA SERVER ##############
# Name that will be registered in Eureka service registry
spring.application.name=${zahori.process.clientId}:${zahori.process.teamId}:${zahori.process.name}
# Use the new Spring Cloud Load balancer. Disables the default Netflix Ribbon-backed load balancing strategy
spring.cloud.loadbalancer.ribbon.enabled=false
# Eureka Service Registry. By default: localhost:8761
eureka.client.serviceUrl.defaultZone=http://${ZAHORI_EUREKA_HOST:localhost}:${ZAHORI_EUREKA_PORT:8761}/eureka/eureka/
eureka.client.eureka-service-url-poll-interval-seconds=15
#eureka.instance.leaseRenewalIntervalInSeconds=5
#eureka.instance.preferIpAddress=false
por estas de Consul:
############## CONSUL SERVER ##############
spring.cloud.consul.host=${ZAHORI_CONSUL_HOST:localhost}
spring.cloud.consul.port=${ZAHORI_CONSUL_PORT:8500}
spring.cloud.consul.discovery.service-name=${zahori.process.name}-${zahori.process.clientId}-${zahori.process.teamId}
spring.cloud.consul.discovery.instanceId=${spring.cloud.consul.discovery.service-name}-${random.value}
spring.cloud.consul.discovery.healthCheckPath=/
spring.cloud.consul.discovery.healthCheckInterval=15s
spring.cloud.consul.discovery.preferIpAddress=true
# Re-register the process if consul is restarted
spring.cloud.consul.discovery.heartbeat.enabled= true
spring.cloud.consul.discovery.heartbeat.reregister-service-on-failure=true
- Reemplaza las siguientes líneas en el fichero application.properties:
############## ZAHORI SERVER ##############
#Uncomment this property to override the server IP returned by Eureka server
zahori.server.host=http://localhost:9090/zahori
zahori.server.context=/zahori
por estas:
############## ZAHORI SERVER ##############
zahori.server.context=zahori
#Uncomment the following property to override the server IP returned by Consul server
zahori.server.host=http://localhost:9090/${zahori.server.context}
v0.1.15
Cambios:
- IMPORTANTE. Cambio en URLs: se han cambiado las URLs mediante las cuales se accede al servidor de Zahori y a la web de Eureka añadiéndoles al final el contexto para que en infraestructuras empresariales se puedan establecer políticas de seguridad y enrutamiento basadas en las URLs.
Las nuevas URLs por defecto son:- Zahori server: http://localhost:9090/zahori
- Eureka server: http://localhost:8761/eureka
(La URL de Selenoid no ha sufrido cambios: http://localhost:8080/)
- Actualización de Selenium a la versión 4.
- Mejoras al ejecutar en navegadores locales: la gestión de los drivers se realiza de forma automática, no siendo necesario descargarlos ni actualizarlos manualmente.
Para poder ejecutar es suficiente con tener el navegador instalado localmente y establecer la propiedad "zahori.remote" con el valor "NO" en el fichero application.properties del proceso. - Actualización de versiones de los navegadores de selenoid: chrome 108.0, edge 108.0, firefox 108.0 y opera 94.0.
- Mejoras en el componente de paginación en angular
- Corrección de mensajes internacionalizados en algunos textos y botones.
- Actualización de dependencias: fixes seguridad
Pasos para actualizar el servidor de zahori a esta versión:
- Para el servidor si se está ejecutando.
- Ejecuta el comando
git pull
desde la carpeta donde se encuentre zahori-server. - Aranca de nuevo el servidor.
Pasos para actualizar los procesos de zahori a esta versión del servidor:
- Para el proceso si se está ejecutando.
- Actualiza el JDK de Java a la versión 17.
- Actualiza la versión del framework de zahorí a la 0.2.2 (fichero pom.xml):
<dependency>
<groupId>io.zahori</groupId>
<artifactId>zahori-framework</artifactId>
<version>0.2.2</version>
</dependency>
- Añade, en el fichero pom.xml, la siguiente propiedad en la sección
<properties>
:
<selenium.version>4.6.0</selenium.version>
- Añade, en el fichero pom.xml, la siguiente dependencia en la sección
<dependencyManagement>
:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-opera-driver</artifactId>
<version>4.4.0</version>
</dependency>
- Reemplaza la siguiente línea en el fichero application.properties:
zahori.server.host=localhost
por estas dos:
zahori.server.host=http://localhost:9090/zahori
zahori.server.context=/zahori
- Reemplaza la siguiente línea en el fichero application.properties:
eureka.client.serviceUrl.defaultZone=http://${ZAHORI_EUREKA_HOST:localhost}:${ZAHORI_EUREKA_PORT:8761}/eureka/
por esta otra:
eureka.client.serviceUrl.defaultZone=http://${ZAHORI_EUREKA_HOST:localhost}:${ZAHORI_EUREKA_PORT:8761}/eureka/eureka/
- En la clase principal que contiene el flujo de la prueba (ej.: SearchWikipedia.java), reemplaza el siguiente import:
import io.zahori.process.framework.ZahoriProcess;
por este:
import io.zahori.framework.core.ZahoriProcess;
- Elimina la clase ZahoriProcess.java del paquete framework (esta clase ya no es necesaria a nivel de proceso).
v0.1.14
Cambios:
- Añadida integration con Jira Xray
- Añadida página de perfil de usuario y funcionalidad de cambio de contraseña
- Mejoras de rendimiento en login, dashboard y últimas ejecuciones cuando existe un gran volumen de ejecuciones
- Añadida funcionalidad para poder asignar nombres a resoluciones
- Añadida ordenación por nombre del caso en las páginas Disparador y Casos
- Corrección de errores
- Actualización de las versiones de los navegadores: Chrome 105.0, Edge 105.0, Firefox 104.0 y Opera 90.0
- Actualización de versiones de dependencias para corregir errores de seguridad
Pasos para actualizar el servidor de zahori a esta versión:
- Para el servidor si se está ejecutando.
- Ejecuta el comando
git pull
desde la carpeta donde se encuentre zahori-server. - Aranca de nuevo el servidor.
Pasos para actualizar los procesos de zahori a esta versión del servidor:
- Para el proceso si se está ejecutando.
- Actualiza la versión del framework de zahorí a la 0.1.19 (fichero pom.xml del proyecto):
<dependency>
<groupId>io.zahori</groupId>
<artifactId>zahori-framework</artifactId>
<version>0.1.19</version>
</dependency>
Pasos para utilizar las integración con Jira Xray:
- En los procesos añade las siguientes líneas en el fichero zahori.properties:
zahori.test.results.tms.xray.projectkey=<JIRA_PROJECT_ID>
zahori.test.results.tms.xray.tplan.id=<JIRA_TEST_PLAN_ID>
Actualiza los valores JIRA_PROJECT_ID y JIRA_TEST_PLAN_ID con los IDs correspondientes en Jira.
- En el servidor
2.1. En la página de Gestión de repositorios añade un repositorio de tipo "Jira Xray" y establece la Url de Jira (server o cloud), y define las credenciales del usuario:
2.2. En la página de Casos añade un nuevo campo con el nombre TMS_TC_ID y posteriormente asigna como valor de este campo en cada fila el ID del TestCase en Jira al que asociar cada Caso de Zahorí:
2.3. En la página de Configuraciones selecciona una configuración y activa el selector "Guardar resultados en repositorio" y en el combo selecciona el repositorio "Jira Xray". Activa también el tipo de evidencia "Doc" para que se adjunte en los resultados de Xray.
2.4. Para subir los resultados de una nueva ejecución a Jira, desde el Disparador selecciona la configuración que has modificado en el paso anterior e introduce, en el campo que aparece, el ID de Jira del TestExecution al cual subir los resultados.
v0.1.13
Cambios:
- Añadida funcionalidad en la página de Últimas Ejecuciones para reejecutar una ejecución completa, reejecutar sólo los casos fallados o reejecutar un caso individual.
- Añadida funcionalidad en la página de Casos para copiar casos de forma rápida.
- Mejora para controlar si un proceso está realmente online después de reiniciarse y registrarse de nuevo en Eureka.
- Mejoras en el disparador para facilitar las ejecuciones:
- El nombre de la ejecución pasa a ser opcional, rellenándose con la fecha y hora actual en caso de no introducirlo.
- En caso de existir una única configuración, esta se selecciona por defecto.
- En caso de existir una única resolución, esta se selecciona por defecto.
- Creado enlace a la "release notes" en el banner del dashboard que anuncia una nueva versión del servidor.
- Actualización de las versiones de los navegadores: chrome:99.0, firefox:98.0, safari:15.0, edge:99.0 y opera:85.0.
- Actualización de versiones de dependencias para corregir errores de seguridad.
Pasos para actualizar el servidor de zahori a esta versión:
- Para el servidor si se está ejecutando.
- Ejecuta el comando
git pull
desde la carpeta donde se encuentre zahori-server. - Aranca de nuevo el servidor.
Pasos para actualizar los procesos de zahori a esta versión del servidor:
En esta versión no es necesario actualizar los procesos.
v.0.1.12
Cambios:
- Añadida funcionalidad para definir y ejecutar en múltiples resoluciones de pantalla.
- Actualización de las versiones de los navegadores.
- Mejoras visuales.
- Corrección de errores.
- Actualización de versiones de dependencias.
Pasos para actualizar el servidor de zahori a esta versión:
- Para el servidor si se está ejecutando.
- Ejecuta el comando
git pull
desde la carpeta donde se encuentre zahori-server. - Aranca de nuevo el servidor.
Pasos para actualizar los procesos de zahori a esta versión del servidor:
- Para el proceso si se está ejecutando.
- Actualiza la versión del framework de zahorí a la 0.1.16 (fichero pom.xml del proyecto):
<dependency>
<groupId>io.zahori</groupId>
<artifactId>zahori-framework</artifactId>
<version>0.1.16</version>
</dependency>
- Añade la siguiente línea en el archivo messages_EN.properties (carpeta src/main/resources)
zahori.testInfo.execution.browser.resolution=- Resolution: {}
- Añade la siguiente línea en el archivo messages_ES.properties (carpeta src/main/resources)
zahori.testInfo.execution.browser.resolution=- Resolución: {}
- Aranca de nuevo el proceso.