Skip to content

Releases: zahori-io/zahori-server

Xray Cloud integration

11 Jan 16:17
Compare
Choose a tag to compare

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:

  1. Para el servidor si se está ejecutando.
  2. Ejecuta el comando git pull desde la carpeta donde se encuentre zahori-server.
  3. Aranca de nuevo el servidor.

Pasos para actualizar los procesos de zahori a esta versión del servidor:

  1. Para el proceso si se está ejecutando.
  2. 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:

  1. Crea las credenciales en Xray (Client Id y Client Secret):
    https://docs.getxray.app/display/XRAYCLOUD/Global+Settings%3A+API+Keys

  2. 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:

alt text

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í:

alt text

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.

alt text

  1. 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:

alt text

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:

alt text

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:

alt text

Notifications

07 Nov 12:41
Compare
Choose a tag to compare

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.

alt text

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:

alt text

  • 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:

  1. Para el servidor si se está ejecutando.
  2. Ejecuta el comando git pull desde la carpeta donde se encuentre zahori-server.
  3. Aranca de nuevo el servidor.

Pasos para actualizar los procesos de zahori a esta versión del servidor:

  1. 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

26 Sep 10:35
Compare
Choose a tag to compare

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:

  1. Para el servidor si se está ejecutando.
  2. Ejecuta el comando git pull desde la carpeta donde se encuentre zahori-server.
  3. Aranca de nuevo el servidor.

Pasos para actualizar los procesos de zahori a esta versión del servidor:

  1. 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:

  1. 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

19 Jun 11:21
Compare
Choose a tag to compare

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:

  1. Para el servidor si se está ejecutando.
  2. Ejecuta el comando git pull desde la carpeta donde se encuentre zahori-server.
  3. Aranca de nuevo el servidor.

Pasos para realizar una ejecución programada:

  1. En el disparador activa el selector "Periódica" y selecciona la hora y los días que quieres que se realice la ejecución:

alt text

  1. 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:

alt text

  1. 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:

alt text

v0.1.16

24 Feb 15:53
Compare
Choose a tag to compare

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:

  1. Para el servidor si se está ejecutando.
  2. Ejecuta el comando git pull desde la carpeta donde se encuentre zahori-server.
  3. Aranca de nuevo el servidor.

Pasos para actualizar los procesos de zahori a esta versión del servidor:

  1. Para el proceso si se está ejecutando.
  2. Actualiza la versión de java en el fichero pom.xml:
<java.version>17</java.version>
  1. 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>
  1. 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 valor org.springframework
  2. 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

  1. 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

12 Jan 12:59
Compare
Choose a tag to compare

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:
  • 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:

  1. Para el servidor si se está ejecutando.
  2. Ejecuta el comando git pull desde la carpeta donde se encuentre zahori-server.
  3. Aranca de nuevo el servidor.

Pasos para actualizar los procesos de zahori a esta versión del servidor:

  1. Para el proceso si se está ejecutando.
  2. Actualiza el JDK de Java a la versión 17.
  3. 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>
  1. Añade, en el fichero pom.xml, la siguiente propiedad en la sección <properties>:
<selenium.version>4.6.0</selenium.version>
  1. 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>
  1. 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
  1. 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/
  1. 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;
  1. Elimina la clase ZahoriProcess.java del paquete framework (esta clase ya no es necesaria a nivel de proceso).

v0.1.14

15 Sep 15:33
Compare
Choose a tag to compare

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:

  1. Para el servidor si se está ejecutando.
  2. Ejecuta el comando git pull desde la carpeta donde se encuentre zahori-server.
  3. Aranca de nuevo el servidor.

Pasos para actualizar los procesos de zahori a esta versión del servidor:

  1. Para el proceso si se está ejecutando.
  2. 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:

  1. 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.

  1. 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:

alt text

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í:

alt text

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.

alt text

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.

alt text

v0.1.13

05 Apr 12:09
Compare
Choose a tag to compare

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:

  1. Para el servidor si se está ejecutando.
  2. Ejecuta el comando git pull desde la carpeta donde se encuentre zahori-server.
  3. 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

01 Feb 11:31
Compare
Choose a tag to compare

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:

  1. Para el servidor si se está ejecutando.
  2. Ejecuta el comando git pull desde la carpeta donde se encuentre zahori-server.
  3. Aranca de nuevo el servidor.

Pasos para actualizar los procesos de zahori a esta versión del servidor:

  1. Para el proceso si se está ejecutando.
  2. 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>
  1. Añade la siguiente línea en el archivo messages_EN.properties (carpeta src/main/resources)
    zahori.testInfo.execution.browser.resolution=- Resolution: {}
  2. Añade la siguiente línea en el archivo messages_ES.properties (carpeta src/main/resources)
    zahori.testInfo.execution.browser.resolution=- Resolución: {}
  3. Aranca de nuevo el proceso.