Generador NIF en groovy para SoapUI

Groovy NIF Generator SoapUISi necesitas una lista de NIFs que puedas utilizar para tus tests, puedes tirar de alguna herramienta en internet para generar NIFs o DNIs.

Pero si lo que necesitas es generar NIFs dinámicamente desde SoapUI, a continuación te dejamos el código para copiar y pegar de nuestro Generador NIF en groovy para SoapUI, que podrás utilizar dentro de un script de soapui para generar NIFs válidos para poder crear ‘n’ usuarios en un servicio de registro de usuarios, por ejemplo.

El código es supersencillo, pero es suficiente, y puede servir de inicio para cosas más complicadas.

Ahí va:

/* Generador NIF en groovy para SoapUI.
 * Genera un NIF válido según el algoritmo Módulo 23.
 * @author TesteandoSoftware
 * @version 1.00
 */
/*La letra del NIF se obtiene a partir de un algoritmo conocido 
 * como módulo 23.
 * El algoritmo consiste en aplicar la operación aritmética de 
 * módulo 23 al número del DNI.
 * El módulo 23 es el número entero obtenido como resto de la división
 * entera del número del DNI entre 23.
 * El resultado es un número comprendido entre el 0 y el 22.
 * En base a una tabla conocida se asigna una letra.
 * La combinación del DNI con esa letra es el NIF.
 * 
 * Tabla de asignación
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
T R W A G M Y F P D X B N J Z S Q V H L C K E
*/
// Primero generamos un Número aleatorio de 8 cifras
def dni =Math.abs(new Random().nextInt() % 99999999 + 1000000)
// Después definimos la tabla de asignación
def NIF_STRING_ASOCIATION = "TRWAGMYFPDXBNJZSQVHLCKE";
/*Generamos el NIF a partir del carácter que hay en la tabla de asignación después
de hacer el modulo 23 del número pasamos como dni, 
y lo mostramos por consola con log.info.*/
def NIF = String.valueOf(dni) + NIF_STRING_ASOCIATION.charAt(dni % 23); log.info NIF
/* Las siguientes 2 líneas serán las encargadas da salvar el valor en una propiedad
dentro de un test step de Properties */
def properties = (com.eviware.soapui.impl.wsdl.teststeps.WsdlPropertiesTestStep) context.getTestCase().getTestStepByName("Properties");
properties.setPropertyValue("NIF", NIF);
//Por último, lo devolvemos por return, si es necesario
return NIF;

Si queremos probarlo en la consola de groovy, tendréis que comentar (o borrar) las 2 líneas encargadas de salvar el NIF en una propiedad y la parte donde sacamos el resultado por consola:

log.info NIF

Groovy NIF Generator

Como veis, además de generar el NIF, lo mostramos en consola con log.info, lo guardamos en la propiedad NIF (tendremos que crearnos un Test Step del tipo propiedad, o lo devolvemos con return.

Espero que os sea útil, y no dudéis en mandar mejoras o modificaciones.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para fines de afiliación y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad