¿Cómo se testea una API REST?
Testear una API REST
Como ya vimos anteriormente en el blog, las API REST nos permiten establecer un sistema de comunicación cliente-servidor de nuestras aplicaciones con otras mediante el uso de unas reglas estandarizadas. Es una forma común para las empresas de crear servicios web.
Pruebas para una API Rest
Una de las fases del desarrollo en cualquier servicio o aplicación web es la de pruebas. Es fundamental para garantizar el correcto funcionamiento de nuestra API.
También es una buena idea en el caso de que queramos usar una API de terceros, para tener claro cómo hacer las llamadas y qué tipo de respuestas y códigos de respuesta recibiremos.
Por suerte, es bastante fácil probar una api rest online, ya que solo tendremos que realizar peticiones online a los endpoints o urls de la api. Algunas de las pruebas las podríamos hacer con el propio navegador (para endpoints que no necesiten autenticación y sobre todo para los que usen el método GET), pero lo mejor es usar algunas de las múltiples herramientas de las que disponemos online.
Software para hacer pruebas en API Rest
Existen numerosas soluciones a la hora de testear una API. Muchas de ellas ofrecen más soluciones (desde el diseño, el testing, la publicación e incluso la monetización). Algunas de ellas son:
- Postman. Es una plataforma que permite tanto el desarrollo como el testeo de API. Permite automatizar test manuales e integrarlos en el desarrollo. Es la que usaremos más adelante
- Soap-ui. Es una herramienta muy completa que permite probar tanto servicios REST como SOAP. Es de las que más posibilidades ofrecen.
- Katalon. Es un software más pensado en test en general que tiene entre sus funcionalidades el realizar pruebas a API REST.
- TestNG es un framework de testing basado en Junit y NUnit
- Apache Jmeter es un software open source diseñado para realizar testing tanto en aplicaciones Web como en otro tipo de aplicaciones. Permite realizar pruebas y mediciones mediante scripts.
- APIary es la solución de Oracle para desarrollar y testear una API. Permite diseño y pruebas antes de pasar a la implementación.
- Apigee, de Google, es una herramienta para el diseño, análisis, testing y escalado de APIs.
De entre las citadas, nos quedamos con Postman, por ser de las que menos curva de aprendizaje tiene y porque necesita muy poca configuración para empezar a usarla.
Probando APIs con Postman
Lo primero que debemos hacer es descargar el cliente API desde su página web e instalarlo en nuestro equipo:
Una vez bajado e instalado (es un proceso sencillo del tipo siguiente-siguiente), lo abrimos y creamos una nueva colección:
A esta colección le pondremos de nombre “Pokemon”:
Le hemos puesto este nombre, porque usaremos PokéAPI, una API pública basada en el universo Pokémon. Añadimos en Postman una nueva Request:
Nos aparece así:
Hacer una llamada es tan sencillo como elegir el tipo de petición (que será GET en este primer caso), y escribir la url, que será: https://pokeapi.co/api/v2/pokemon/ditto para obtener los datos del Pokémon Ditto. Una vez puesto, pulsamos el botón “Send” y obtenemos:
Donde hemos obtenido datos de Ditto como sus habilidades, sus formas o su experiencia base.
También podemos obtener información sobre alguna habilidad, como https://pokeapi.co/api/v2/ability/31/, que nos daría la información:
Con esto ya hemos probado Postman para hacer una llamada a una API. Hay otros sitios que ofrecen APIs para hacer pruebas online, como FunTranslations API, que nos puede traducir un texto a la forma de hablar de personajes de Star Wars o a la forma de hablar de un pirata.