Saltar al contenido

¿Cómo probar? Aprendiendo con el ejemplo

¿Qué es WebService?

Los servicios web son el mecanismo o medio a través del cual dos aplicaciones / máquinas intercambian los datos independientemente de su arquitectura y tecnología en línea.

¿Qué es una prueba de servicio web?

Pruebas de servicios web es un tipo de prueba de software que valida los servicios web. El propósito de las pruebas de servicios web es verificar la funcionalidad, confiabilidad, rendimiento y seguridad de la API (interfaz de programación de aplicaciones). Las pruebas de servicios web son similares a las pruebas unitarias en algunos casos. Puede probar manualmente un servicio web o crear su propio código de automatización o utilizar una herramienta de automatización estándar como Postman.

¿Por qué WebService?

Las aplicaciones de software generalmente se desarrollan para el consumo humano, cuando una persona envía una solicitud a un servicio de software que posteriormente devuelve una respuesta en un formato legible por humanos.

En la era moderna de la tecnología, si desea crear una aplicación de software, no tiene que hacerlo todo desde cero. Hay muchos servicios legibles disponibles que puede conectar a su aplicación y puede comenzar a proporcionar esos servicios en su aplicación.

Por ejemplo, desea mostrar información del pronóstico del tiempo que no necesita recopilar, procesar y proporcionar los datos en su aplicación. Puede adquirir los servicios de los ya establecidos para el tratamiento y publicación de dichos datos.

Los servicios web nos permiten realizar este tipo de implementación.

Por ejemplo, considere el siguiente servicio web

http://www.webservicex.net/stockquote.asmx?op=GetQuote

Le da a una empresa un valor en acciones.

Obtenemos un precio de acción para Google (Símbolo: GOOG)

La respuesta XML da el precio de las acciones.

Este servicio web puede denominarse Aplicación de software mediante el protocolo SOAP o HTTP.

Protocolos de servicios web

Los servicios web se pueden implementar de diversas formas, pero ambos son los enfoques de implementación más populares.

  1. SOAP (Protocolo simple de acceso a objetos)
  2. REST (arquitectura de traducción de estado representativa)

JABÓN

SOAP es un protocolo estándar definido por el estándar W3C para enviar y recibir solicitudes y respuestas de servicios web.

SOAP utiliza el Formato XML para enviar y recibir la solicitud y, por tanto, los datos son datos independientes de la plataforma. Los mensajes SOAP se intercambian entre las aplicaciones del proveedor y la aplicación se recibe dentro de los sobres SOAP.

Como SOAP utiliza el protocolo de transporte http simple, los cortafuegos no bloquean sus mensajes.

CAMBIO

REST significa Transferencia de Estados Representativos; es una arquitectura que generalmente se ejecuta a través de HTTP. El estilo REST enfatiza las interacciones entre clientes y servicios, que se mejoran al tener un número limitado de operaciones. REST es una alternativa a SOAP (Protocolo simple de acceso a objetos) y en lugar de usar XML a pedido, REST usa una URL simple en algunos casos. A diferencia de SOAP, las aplicaciones RESTFUL utilizan encabezados HTTP para transportar metainformación.

Hay un código diferente que usa REST para determinar si el usuario tiene acceso a una API o el código 200 o 201 no le gusta la interacción exitosa con el cuerpo de la respuesta aunque 400 indica una solicitud incorrecta o la solicitud URI no es compatible con las API en el sistema. Todos los parámetros de la aplicación API y los parámetros del método se pueden enviar a través de cualquiera de ellos. CORREO o OBTENER variables.

Rest API admite el formato XML y JSON para la prueba de API de servicios web. Suele ser mejor Móvil y aplicaciones web porque hace que la aplicación funcione más rápido y sin problemas

WSDL

WSDL (Web Services Reporting Language) es un lenguaje basado en XML que se utilizará para describir los servicios que ofrece un servicio web.

WSDL describe todas las operaciones que ofrece el servicio web en particular en formato XML. También define cómo se pueden llamar los servicios, es decir, qué valor de entrada debemos proporcionar y qué forma generará la respuesta a cada tipo de servicio.

¿Cómo probar un servicio web?

Para probar un servicio web, puede

  1. Prueba manual
  2. Cree su propio código de automatización
  3. Utilice una herramienta de automatización estándar como SoapUI.

Las pruebas de automatización de servicios web implican los siguientes pasos:

  1. Comprender el archivo WSDL
  2. Configurar las operaciones proporcionadas por un servicio web en particular
  3. Descubra el formato de solicitud XML que debemos enviar
  4. Descubra el formato XML de la respuesta
  5. Utilice una herramienta de escritura o un código para enviar una solicitud y validar la respuesta.

Supongamos que queremos probar un servicio web que proporciona una función de conversión de moneda. Calculará las tasas de conversión actuales entre las monedas de diferentes países. Este servicio lo podemos utilizar en nuestras aplicaciones para cambiar los valores de una moneda a otra.

Ahora veamos los pasos anteriores

Paso 1 a 4: comprender WSDL y determinar las operaciones y formatos XML

El archivo WSDL Currency Converter se puede ver @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) dando la información sobre los métodos del servicio web Conversor de divisas que soporta, el parámetro que debemos pasar y el tipo de parámetros … etc.

Paso 5: use una herramienta de escritura o un código para enviar la solicitud y validar la respuesta

Hay muchas herramientas de prueba de servicios web disponibles para probar el servicio web SOAP. SoapUI es uno de los más populares Herramienta API lo que nos ayudará a probar los servicios web SOAP. De hecho, puede utilizar cualquier lenguaje de programación que pueda enviar la solicitud XML a la aplicación del proveedor de servicios web a través de http y que pueda analizar y validar la respuesta XML con el resultado esperado. En este tutorial de prueba de servicios web, probaremos el servicio web

  1. Usando Java
  2. Usando SoapUI

PARTE 1) Pruebas de servicios web utilizando Apache Axis2 API (Java).

Un servicio web generalmente acepta la solicitud y envía la respuesta en formato XML.

El proyecto de API Apache Axis2 es un Java Una API de implementación, que se utilizará para crear los servicios web para el lado del servidor (proveedor de servicios) y el cliente (consumidor de servicios).

Axis2 puede enviar mensajes SOAP y recibir y procesar los mensajes SOAP. Podemos escribir un pequeño programa Java usando la API para crear el servicio web. Axis2 generará el programa WSDL desde Java que se utilizará para comunicar los servicios ofrecidos por el servicio web. Podemos usar el mismo Axis2 para generar la clase Java (stub) a partir de un archivo WSDL que podemos usar como programa cliente para generar la solicitud del servicio web, enviar la solicitud al punto final del servicio y procesar una respuesta.

  1. Básicamente crearemos un programa Java simple en el que agregaremos instantáneamente la clase stump.
  2. Usando el stub invocaremos el método de aplicación pasando toda la información requerida.
  3. El programa Stub convertirá esa solicitud a formato de solicitud XML y le enviará el punto final del servicio que leerá y procesará la solicitud y enviará la respuesta en formato XML.
  4. La respuesta XML se convertirá a la clase Java por elementos y se devolverá al programa real.

Analizamos los pasos anteriores en detalle.

Paso a) Descargue la API ais2 @ https://axis.apache.org/axis2/Java/core/download.cgi & Establezca la variable de entorno ‘AXIS2_HOME’

Paso b) Cree una carpeta para contener todos los artefactos generados

Ejemplo: C: Back Projects CurrencyConverter

Paso c) Abra el símbolo del sistema y navegue hasta la estructura de carpetas donde desea generar los artefactos y ejecute el siguiente comando que generará el estuco

% AXIS2_HOME% bin WSDL2Java -uri http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.currencyconvertor -d adb –s

Paso d) Cuando el comando se ejecute correctamente, verá la carpeta con los archivos necesarios.

Paso e) En el siguiente paso de este tutorial de pruebas de servicios web, necesitamos crear el programa cliente, a través del cual implementaremos la aplicación real utilizando los stubs generados. Abra el eclipse y cree el nuevo proyecto Java y seleccione la carpeta que creamos arriba.

Paso f) Agregue todos los jar relacionados con ais2 a la ruta de construcción del proyecto, que estará en la carpeta lib de la carpeta del software ais2

(para el antiguo: C: Ais ais2-1.6.2 lib)

Paso g) Cree una nueva clase Java (antigua: Client.Java) y un objeto stub inmediatamente. Al utilizar el objeto prudente, podemos admitir todos los modos del servicio web en particular.

Client.Java Program
package org.apache.axis2.currencyconvertor;
import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;
import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;
import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;

public class Client {
 public static void main(Java.lang.String args[]) {

  try {

       //Create the stub object by passing the service end point url
       CurrencyConvertorStub stub = new CurrencyConvertorStub("http://www.webservicex.net/CurrencyConvertor.asmx");
       //ConversionRate is the class which we have to use mention the from and to currency
       //ConversionRate object will be the parameter for the conversionRate operation
       ConversionRate conversionRate = new ConversionRate();
       conversionRate.setFromCurrency(Currency.USD);
       conversionRate.setToCurrency(Currency.INR);

       //Create the ConversionRateResponse object, which is going to be used to catch the response
       //call the conversionRate service using the stub object
       ConversionRateResponse conversionRateResponse = stub.conversionRate(conversionRate);

       //We can use the conversionRateResponse object to retrieve the response of the ConversionRate Service
       System.out.println("Conversion Rate from INR to USD : " + conversionRateResponse.getConversionRateResult());

       } catch (Exception e) {
       e.printStackTrace();
      }
    }
}
		

PARTE 2) Cómo probar el servicio web SoapUI

Yo SoapUI

  1. Vaya a Archivo> Nuevo proyecto de jabón
  2. Ingrese el nombre del proyecto y la ubicación del URI WSDL
  3. Haga clic en Aceptar

  1. Expanda la primera solicitud y haga doble clic en ‘Solicitud1’. Mostrará la solicitud SOAP en formato XML.
  2. Ingrese desde Moneda y Moneda
  3. Haga clic en el botón enviar
  4. Se mostrará una respuesta XML en el panel derecho.

Como puede concluir, el uso de herramientas de prueba de servicios web como SoapUI acelera su esfuerzo de pruebas de automatización de servicios web. So SoapUi será el foco de nuestro aprendizaje en los tutoriales posteriores.

Resumen

CC

¿Cuál es la diferencia entre WebService y WebAPI?

Servicio web

API web

  • Definido por W3C, todas las comunicaciones e intercambios de datos se basan en XML
  • La comunicación y el intercambio de datos de la API web pueden consistir en XML, JSON o datos simples
  • Tiene estándares definidos – WSDL
  • No puede comprimir los datos, pero también puede comprimir la solicitud HTML
  • Puedes comprimir los datos

Aprenda más sobre esto Prueba de API web

Este tutorial de pruebas de servicios web se puede realizar con las contribuciones del Sr. Narender Reddy Nukala

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *