Crear un Comando para invocación a un Procedimiento GeneXus

From GXtest Wiki
Jump to: navigation, search
Spanish.gif
English.gif
Japan.gif

La invocación a Procedimientos Genexus desde los Test Cases de GXtest dan la posibilidad de ingresar validaciones a nivel de datos (implementando lógica Genexus para verificar que el estado en la base de datos es el que se esperaba) o para ejecutar cualquier tipo de acción o cálculo con programas Genexus. Estos pueden recibir cualquier cantidad de parámetros de entrada y salida.

Contents

Crear un Proc GX

Primero veremos cómo crear un ProcGX en Genexus para que quede expuesto como Web Service, y luego veremos cómo cargarlo en GXtest.

  • Para realizar esta parte es necesario tener GeneXus instalado, para poder generar el Web Service.

Definir un Procedimiento como Web Service en Genexus

Veamos a modo de ejemplo la creación de un procedimiento de suma. Este nos serviría para tener en GXtest la posibilidad de sumar dos números en un Test Case.

Definición del procedimiento:

Rules

Parm(in:&NroA, in:&NroB,
     out:&ResultadoSuma,out:&OtraVariable);

En este ejemplo tendremos dos salidas, el resultado de la suma y otro valor cualquiera, sólo para mostrar que se pueden manejar varios parámetros de salida a nivel de GXtest.

Source

&ResultadoSuma = &NroA+&NroB
&OtraVariable = 4

Propiedades

  • Call Protocol: SOAP
  • Main Program: True

Cargar el Procedimiento en GXtest

Acceder al menú para crear un Proc GX.

AccesoWebservices.jpg


Luego, haciendo clic en Add Prog GX, se le presenta la siguiente pantalla al usuario donde se puede cargar el Procedimiento Genexus:

DefinirProcGX.jpg


Ahí se debe indicar la URL al WSDL del Procedimiento Genexus y presionar BotonRefresh.jpg.

Al hacer esto se carga la definición del procedimiento y ahi podemos visualizar el nombre del procedimiento y los parámetros de entrada y salida. En el ejemplo de la suma veríamos los parámetros como se muestran a continuación:

ProcSuma.jpg


Ahí se puede editar el nombre con el cual se va a referenciar luego el comando, la descripción, y si lo utilizaremos como Acción o Validación.

Usar un Proc GX

Una vez que se crea un Proc GX este queda disponible en GXtest de la misma forma que cualquier comando nativo, permitiendo agregarlos y editarlos en forma manual.

UsarProgGX.jpg


Observar que los parámetros de salida se pueden cargar en variables, y los de entrada pueden tomar tanto variables, valores fijos o tomados de DataPools.


Crear validaciones

Cuando un Procedure va a ser usado en GXtest como una validacion, el mismo solo debe de tener una variable de salida, la misma debera ser el valor "T" (true - verdadero) o cualquier otra cadena de caracteres indicando la negativa. Por ejemplo:

Si invoco a un procedure ExisteCliente (idCliente)

Si la misma devuelve "T" significara que el cliente existe. De lo contrario el Procedimiento puede devolver el string de "Cliente no existe".

Si devuelve "T" GXtest interpretara que el comando devuelve True, y de lo contrario False.