Adaptador API/Servicios Web
English
Introducción
A través del Adaptador API/Servicios Web, TAST se conecta con los servicios API REST que están disponibles en un punto final y los utiliza para realizar pruebas. Este Adaptador tiene un importante compañero llamado Web Services Mapping Assistant con una interfaz de usuario más detallada y compleja para ayudar a la creación de mensajes TAST y mapeos.
Este Adaptador es utilizado para ejecutar pruebas de Servicios Web: REST, SOAP y otros. El Adaptador API/Servicios Web puede realizar todo tipo de llamadas y realizar comprobaciones sobre estas. Es posible realizar pruebas individuales con este adaptador o pruebas de extremo a extremo conectando con otros adaptadores.
Parámetros de Inicialización
En la configuración del Adaptador API/Webservice debemos incluir todos los datos que consideremos descriptivos del servicio en general y que se aplican a todas sus peticiones. Así el usuario no tendrá que indicarlo en cada mensaje del diagrama. Son los siguientes:
- EndPoint: especifica la URL que es común a todas las peticiones sobre ese servicio web.
- Keep/Session: si marcamos esta casilla de verificación la sesión seguirá activa durante las diferentes llamadas o peticiones, y añadirá las cookies que reciba en las respuestas a las peticiones que realice.
- IsSecure: indica si las peticiones al servicio se enviaron a través del protocolo http o https..
- Headers(Opt.): permite agregar encabezados a todas las solicitudes que se envían al servicio.
- Service-Charset: es el conjunto de caracteres que se utilizaran en el servicio HTTP. El Service Charset el más común es UTF-8.
Las palabras y oraciones en el texto se crean a partir de caracteres. Una codificación de caraeres proporciona una clave para desbloquear (es decir, descifrar) el código. Así, el conjunto de caracteres es la información de codificación, es decir, el conjunto de asignaciones entre los bytes del ordenador y los caracteres del conjunto de caracteres. Sin la clave, los datos parecen basura. El Service Charset Cp1047 es usado por defecto.
- Authentication Type: permite seleccionar el tipo de autenticación que requiere el servicio. Una vez seleccionado nos permite introducir los datos necesarios para el tipo de autenticación seleccionado. Por defecto, no se usa autenticación.
Funciones Predefinidas (PF's)
getResponseBody: obtener el cuerpo de la respuesta http, sin el código de respuesta ni otras cabeceras, sólo el cuerpo, es decir, el json o el xml.
-
deleteRest(resource, headers):
Descripción: Permitepermite configurar una petición HTTP de tipo Delete.-
Recurso: Indica el recurso dentro del EndPoint en el que se realizará la solicitud.
-
Cabeceras: Indica las cabeceras que deben añadirse a la solicitud.
-
Charset: Para elegir el charset que queremos utilizar.
-
Cuerpo: Indica el contenido del parámetro.
-
getALLJSONElementValueByTagname
-
Descripción: Si el contenido de la respuesta a una petición es JSON, esta función permite recuperar el valor de algún elemento, utilizando elTagName para identificarlo. Devuelve todos los elementos. El resultado se presenta con los valores separados por el carácter |, en el campo Mensaje / Resultado / Valor.
-
ResponseName: Indica el nombre con el que se generó la respuesta Http.
-
JSonTagName: Expresión de nombre de etiqueta utilizada para identificar el elemento.
-
-
getALLXMLElementValueByTagName(StepResponse, ElementTag)
-
Descripción: Si el contenido de la respuesta a una petición es XML, esta función permite recuperar todos los valores de los elementos, utilizando el TagName para identificarlo. En lugar de devolver sólo un elemento (el primero), este FP devuelve una lista de todos los elementos.
-
ResponseName: Indica el nombre con el que se generó la respuesta Http.
-
ElementTag: XML´s etiqueta utilizada para identificar el elemento.
-
-
getElementsCountByJsonPath(JsonPath, ResponseName): Devuelve el número de elementos que tienen el mismo JsonPath.
-
JsonPath: El JsonPath a buscar.
-
ResponseName: El nombre con el que se generó la respuesta HTTP.
-
-
getElementsCountByTagName(tagName, ResponseName): Devuelve el número de elementos que tienen el mismo nombre de tag.
-
tagName: El nombre de tag a buscar.
-
ResponseName: El nombre con el que se generó la respuesta HTTP.
-
-
getElementsValueByJsonPath(JsonPath, ResponseName): Devuelve todos los elementos que tienen el mismo JsonPath.
-
JsonPath: El JsonPath a buscar.
-
ResponseName: El nombre con el que se generó la respuesta HTTP.
-
-
getHeaderValue(StepResponse, Header)
-
Descripción: Permite obtener el valor de una cabecera recibida en una respuesta HTTP.
-
ResponseName: Indique el nombre con el que se generó la respuesta Http.
-
Cabecera: El nombre de la cabecera de la que desea extraer el valor.
-
-
getHTMLElementValueByXpath()
-
Descripción: Si el contenido de la respuesta a una petición es HTML esta función permite recuperar el valor de un elemento empleando para identificar este, una expresión Xpath
-
ResponseName: Indica el nombre con el que se generó la respuesta Http.
-
XPathExp: Expresión XPath utilizada para identificar el elemento.
-
-
getJSONElementValueByJsonPath(StepResponse, JSonPathExp)
-
Descripción: Si el contenido de la respuesta a una petición es JSON, esta función permite recuperar el valor de un elemento, utilizando el nombre de JsonPath para identificarlo. Si hay más de un elemento, devuelve el primero.
-
ResponseName: Indica el nombre con el que se generó la respuesta Http.
-
JSonPathExp: Expresión de JSonPath utilizada para identificar el elemento.
-
-
getJSONElementValueByTagName(StepResponse, TagnameExp)
-
Descripción: Si el contenido de la respuesta a una petición es JSON, esta función permite recuperar el valor de un elemento, utilizando el TagName para identificarlo. Si hay más de un elemento, devuelve el primero. El resultado se presenta con los valores separados por el carácter |, en el campo Mensaje / Resultado / Valor.
-
ResponseName: Indica el nombre con el que se generó la respuesta Http.
-
JSonTagName: Expresión TTagname utilizada para identificar el elemento.
-
-
getResponseBody: obtener el cuerpo de la respuesta http, sin el código de respuesta ni otras cabeceras, sólo el cuerpo, es decir, el json o el xml.
-
getResponseStatus(StepResponse)
-
Descripción: Permite recuperar el código de estado Http de la respuesta.
-
ResponseName: Indica el nombre con el que se generó la respuesta Http.
-
-
getResponseTime: Retorna el tiempo empleado en milisegundos en recibir la respuesta a una solicitud. Para identificar la respuesta recibe un parámetro con el nombre de la variable HttpResponse de la que queremos obtener la información.
-
getRest(resource, headers, parameters)
-
Descripción: Permite configurar una petición HTTP del tipo Get.
-
Recurso: Indica el recurso dentro del EndPoint en el que se realizará la solicitud.
-
Cabeceras: Indica las cabeceras que deben añadirse a la solicitud.
-
Parámetros: Indica los parámetros que deben añadirse a la URL de la incidencia.
-
Charset: Para elegir el charset que queremos utilizar.
-
-
getXMLElementValueByTagName(StepResponse, ElementTag)
-
Descripción: Si el contenido de la respuesta a una petición es XML, esta función permite recuperar el valor de un elemento, utilizando la etiqueta it´s para identificarlo. Si hay más de un elemento, devuelve el primero.
-
ResponseName: Indica el nombre con el que se generó la respuesta Http.
-
ElementTag: XML´s etiqueta utilizada para identificar el elemento.
-
-
getXMLElementValueByXPath(StepResponse, XPathExp)
-
Descripción: Si el contenido de la respuesta a una petición es XML, esta función permite recuperar el valor de un elemento, usando para identificar este, una expresión XPath. Además permite buscar valores en respuestas con un tipo de contendio XHTML.
-
ResponseName: Indica el nombre con el que se generó la respuesta Http.
-
XPathExp: Expresión XPath utilizada para identificar el elemento.
-
-
patchRest(resource, headers, content-type, body)
-
Descripción: Le permite configurar una petición HTTP de tipo Patch.
-
Recurso: Indica el recurso dentro del EndPoint en el que se realizará la solicitud.
-
Cabeceras: Indica las cabeceras que deben añadirse a la solicitud.
-
Tipo de contenido: Cabecera estándar HTTP que indica el tipo de contenido que se agrega al cuerpo de la solicitud.
-
Cuerpo: Contenido de la solicitud Http.
-
-
postRest(resource, headers, content-type, body)
-
Descripción: Le permite configurar una petición HTTP de tipo Post.
-
Recurso: Indica el recurso dentro del EndPoint en el que se realizará la solicitud.
-
Cabeceras: Indica las cabeceras que deben añadirse a la solicitud.
-
Tipo de contenido: Cabecera estándar HTTP que indica el tipo de contenido que se agrega al cuerpo de la solicitud.
-
Cuerpo: Contenido de la solicitud Http.
-
-
putRest(resource, headers, content-type, body)
-
Descripción: Permite configurar una petición HTTP de tipo Put.
-
Recurso: Indica el recurso dentro del EndPoint en el que se realizará la solicitud.
-
Cabeceras: Indica las cabeceras que deben añadirse a la solicitud.
-
Tipo de contenido: Cabecera estándar HTTP que indica el tipo de contenido que se agrega al cuerpo de la solicitud.
-
Cuerpo: Contenido de la solicitud Http.
-
-
responseBodyContainsText(responseName, searchValue)
-
Descripción: Buscar en el campo cuerpo de la respuesta (stepResponse), si hay alguna coincidencia con el texto del parámetro searchValue. Rendimiento verdadero si es afirmativo.
-
ResponseName: Indica el nombre con el que se generó la respuesta Http.
-
SearchValue: Texto a buscar dentro del cuerpo de la respuesta.
-
-
setBasicAuthentication(user, password)
-
Descripción: Permite configurar el esquema de autenticación de las peticiones que se envían al EndPoint como BasicAuthentication. Sobrescribe la configuración de seguridad realizada en la configuración del adaptador.
-
Usuario: Código de usuario utilizado como credencial.
-
Password: Contraseña para presentar como credencial.
-
-
setBearerTokenAuthentication(token)
-
Descripción: Permite configurar el esquema de autenticación de las peticiones que se envían al endpoint como Esquema de Autenticación de Portador de Ficha. Sobrescribe la configuración de seguridad realizada en la configuración del adaptador.
-
Token: Valor de Token que se presentará como credencial.
-
-
setDigestAuthentication(user, password, realm, nonce, algorithm, Qoq, NonceCount, ClientNonce, Opaque)
-
Descripción: Permite configurar el esquema de autenticación de las peticiones que se envían al endpoint como Digest Authentication Schema. Sobrescribe la configuración de seguridad realizada en la configuración del adaptador.
-
Usuario: Nombre de usuario utilizado como credencial.
-
Password: Contraseña para presentar como credencial.
-
Campo: Dominio de seguridad en el que debe realizarse la validación de seguridad. Es opcional, si no se conoce, el adaptador intentará realizar la validación con los datos obtenidos de la respuesta al desafío.
-
Nonce: Nonce devuelto por el servidor. Es opcional, si no se conoce, el adaptador intentará realizar la validación con los datos obtenidos de la respuesta al desafío.
-
Algoritmo: Algoritmo utilizado para el cifrado. Es opcional, si no se conoce, el adaptador intentará realizar la validación con los datos obtenidos de la respuesta al desafío.
-
Qoq: Calidad del código de protección. Es opcional, si no se conoce, el adaptador intentará realizar la validación con los datos obtenidos de la respuesta al desafío.
-
NonceCount: NonceCount asociado a la solicitud. Es opcional, si no se conoce, el adaptador intentará realizar la validación con los datos obtenidos de la respuesta al desafío.
-
ClienteNonce: Nonce generado por el cliente. Es opcional, si no se conoce, el adaptador intentará realizar la validación con los datos obtenidos de la respuesta al desafío.
-
Opaque: Opaque devuelto por el servidor. Es opcional, si no se conoce, el adaptador intentará realizar la validación con los datos obtenidos.
-
-
setNoneAuthentication()
-
Descripción: Permite configurar el método de autenticación de las peticiones que se envían al EndPoint como peticiones sin esquema de autenticación. Sobrescribe la configuración de seguridad realizada en la configuración del adaptador.
-