Cómo probar una API usando Python y JavaScript

Cómo probar una API usando Python y JavaScript

Hay una delgada línea entre elegir una interfaz de programación de aplicaciones (API) y decidir si puede trabajar con ella o no. La mayoría de las API REST tienen una arquitectura genérica y subprocesan una ruta de solicitud común. Pero algunas API se desvían del estándar. En consecuencia, se vuelven difíciles de usar.

Por lo tanto, antes de construir todo su software en una API, debe realizar controles de calidad y asegurarse de que funcione correctamente. Entonces, ¿qué es la prueba de API y cómo se puede probar una API?

¿Qué son las pruebas de API?

Las pruebas de API implican la evaluación inicial de la funcionalidad, seguridad, escalabilidad, velocidad y más de una API para ver si es ideal para el programa que quiere usarla. Pero superficialmente, puede implicar pruebas para ver si envía las respuestas adecuadas cuando realiza solicitudes a través de sus diversos puntos finales.

Dependiendo de su estructura, mientras prueba una API, realizará solicitudes (Obtener, Publicar, Actualizar o Eliminar) a sus puntos finales relevantes. Hay muchas métricas para verificar durante las pruebas de API. Pero en un nivel principiante, desea validar la integridad de una API a partir de su código de estado y asegurarse de que obtenga y acepte los datos correctos.

Con ese fin, como cualquier solicitud web, una API puede devolver el código de estado 200, 400 o 500 o incluso otros.

La mayoría de las API utilizan respuestas JSON para servir sus cargas útiles. Dependiendo del objetivo, otros pueden aceptar y responder con cargas útiles XML, multiparte o HTML.

Cómo probar una API usando Python y JavaScript

Aunque hay muchas herramientas de prueba de API de interfaz gráfica de usuario (GUI) en Internet, puede evaluar una API de manera más crítica con scripts escritos.

Una API indica en su documentación el tipo de solicitudes que permite y les proporciona puntos finales relevantes. Por lo tanto, puede tomarlos y probarlos utilizando los métodos de solicitud adecuados.

Relacionado: ¿Qué es la API REST y cómo puede obtener datos para su aplicación o sitio web?

A diferencia de la fase de producción real, las pruebas API son rudimentarias. Por lo tanto, no necesita tanta especificidad como lo haría mientras ejecuta la API para producción. Aunque existen diferentes tipos de pruebas de API, nos centraremos más en las pruebas de validación de respuesta en este artículo.

Probaremos una API de tienda falsa en este tutorial usando la biblioteca de solicitudes de recuperación de JavaScript y Python . Mientras hacemos esto, probaremos los puntos finales para obtener, publicar, actualizar y eliminar datos.

Cómo probar un punto final de API Get con JavaScript

Como lo usaría en producción, puede probar una API en JavaScript usando Axios o el método de búsqueda .

Para obtener el estado de respuesta de la API usando fetch :

fetch('https://fakestoreapi.com/products', ).then(res =>{ console.log(res) })

La solicitud anterior devuelve un estado 200 si es una respuesta válida. Una vez que realice una solicitud exitosa, puede solicitar datos en tiempo real desde la API.

Obtengamos los datos de esta API:

fetch('https://fakestoreapi.com/products', ).then(res =>{ if (res.ok){ return res.json() } }).then(response=>{ console.log(response) }).catch(err => console.log(err))

La respuesta al código de recuperación anterior se ve así:

Cómo probar una API usando Python y JavaScript

Para obtener el precio de todos los productos, por ejemplo, puede utilizar la función de mapa :

fetch('https://fakestoreapi.com/products', ).then(res =>{ if (res.ok){ return res.json() } }).then(response=>{ response.map(data =>{ console.log(data.price) }) // console.log(response) }).catch(err => console.log(err))

Lo anterior registra la siguiente salida:

Cómo probar una API usando Python y JavaScript

Probar un punto final Get con Python

Como se mencionó anteriormente, Python también usa la biblioteca de solicitudes para acceder a los datos de una API.

Para comprobar el estado de la respuesta en este caso:

import requests data = requests.get('https://fakestoreapi.com/products') print(data.status_code)

El registro de datos como hicimos anteriormente devuelve un estado correspondiente. Sin embargo, son 200 en este caso.

Ahora obtengamos los mismos datos con Python que cuando usamos JavaScript:

import requests data = requests.get('https://fakestoreapi.com/products') myData = data.json() print(myData)

El resultado de lo anterior se ve así:

Cómo probar una API usando Python y JavaScript

Puede obtener datos específicos utilizando el bucle for .

Para obtener precios de productos, por ejemplo:

import requests data = requests.get('https://fakestoreapi.com/products') myData = data.json() indexes = 0 for i in myData: goods = myData[indexes] indexes +=1 print(goods["price"])

Así es como se ve la salida:

Cómo probar una API usando Python y JavaScript

Prueba de un punto final de publicación con JavaScript

Después de probar y ver que la solicitud Get funciona, según su objetivo y lo que ofrece la API, es posible que desee verificar si también puede insertar datos en ella.

A diferencia de cómo realiza una solicitud de obtención , una solicitud de publicación acepta una carga útil. Además, deberá especificar que se trata de una solicitud de publicación:

// Specify the payload let payload = { title: 'new product', price: 13.5, description: 'test description', image: '', category: 'electronic' } fetch('https://fakestoreapi.com/products', { method: "Post", headers:{ 'Content-Type': 'application/json' }, body: JSON.stringify(payload) //convert the payload to JSON } ).then(res =>{ if (res.ok){ console.log(res.status) return res.json() } }).then(response => { console.log(response) }).catch(err => console.log(err))

El código anterior registra el código de estado de respuesta y la nueva información insertada cuando lo ejecuta. Esto le indica si su solicitud se aprobó o no. Normalmente, si el código de estado es 200, su API tiene un punto final válido que devuelve la respuesta adecuada.

Prueba de solicitud de publicación con Python

También puede probar un punto final después de una API de Python usando requests.post . Como lo hizo mientras usaba la recuperación de JavaScript , también debe especificar la carga útil aquí:

import requests payload = { 'title': 'new product', 'price': 13.5, 'description': 'test description', 'image': '', 'category': 'electronic' } Posted = requests.post('https://fakestoreapi.com/products', data = payload ) print(Posted.status_code) print(Posted.json())

Al igual que JavaScript, el código Python anterior también registra el código de estado de respuesta y los nuevos datos especificados dentro de la carga útil .

Prueba de los puntos finales Put

Actualizar los datos de la API requiere el mismo proceso que publicarlos y obtenerlos en ambos idiomas.

Para hacer esto usando la recuperación de JavaScript , solo necesita reemplazar Publicar con Put :

// Specify the payload let payload = { title: 'new product', price: 13.5, description: 'test description', image: '', category: 'electronic' } fetch('https://fakestoreapi.com/products/19', { method: "Put", headers:{ 'Content-Type': 'application/json' }, body: JSON.stringify(payload) //convert the payload into JSON } ).then(res =>{ if (res.ok){ console.log(res.status) return res.json() } }).then(response => { console.log(response) }).catch(err => console.log(err))

Si prestas atención al punto final de la API, verás que esta vez incluye el ID del producto. Así es como la API sabe qué datos desea actualizar en este caso.

No obstante, algunas API pueden usar otros métodos para diseñar sus puntos finales. Entonces eso no es un estándar.

Para probar la actualización de los datos de la API con Python, usa request.put en su lugar:

import requests payload = { 'title': 'new product', 'price': 13.5, 'description': 'test description', 'image': '', 'category': 'electronic' } Posted = requests.put('https://fakestoreapi.com/products/19', data = payload ) print(Posted.status_code) print(Posted.json())

Los ejemplos anteriores, si tienen éxito, inserta los nuevos datos en la posición 19 como lo indica el punto final de la API.

Prueba de la solicitud de eliminación

Eliminar datos de una API es tan fácil como realizar una solicitud Get. Esto se debe a que, a diferencia de Publicar y Poner, no es necesario especificar ninguna carga útil. Todo lo que necesita es eliminar el punto final.

Nuestra API elegida aquí usa la ID del producto para rastrear sus datos. Entonces, eliminar un producto es fácil:

fetch('https://fakestoreapi.com/products/19', { method: "Delete", headers:{ 'Content-Type': 'application/json' } } ).then(res =>{ if (res.ok){ console.log(res.status) return res.json() } }).then(response => { console.log(response) }).catch(err => console.log(err))

Solo necesitas unas pocas líneas de código para lograr lo mismo usando Python:

import requests Posted = requests.delete('https://fakestoreapi.com/products/19', ) print(Posted.status_code) print(Posted.json())

Ambos ejemplos anteriores registran el código de estado de respuesta y los datos que pertenecen a la identificación consultada (19 en este caso).

¿Son estos métodos de prueba genéricos?

Si bien solo nos hemos centrado en una única API en esta publicación, los métodos utilizados para probar los puntos finales de CRUD no son diferentes cuando se trata de otras API. La única diferencia, por supuesto, podría estar en las reglas que rodean cada estructura de API y las pautas para solicitar datos. Una vez que los descifra para una API elegida, puede usar el método apropiado, como se describe aquí, para probar sus puntos finales correspondientes.

Por lo tanto, dado que cada API tiene reglas para conectarse a ella, durante las pruebas, algunas pueden proporcionar parámetros adicionales para que los incluya en los encabezados de su solicitud. Dichos parámetros generalmente incluyen un token de acceso u otros como se proporciona en la documentación.


Cómo usar Python como una calculadora de línea de comandos

Cómo usar Python como una calculadora de línea de comandos

Si bien puede usar una calculadora gráfica en su computadora, el intérprete del lenguaje de programación Python puede funcionar como una calculadora de escritorio. Es una broma de ejecución tan popular en la comunidad de Python que se menciona en el tutorial oficial. Así es como puedes usar Python como calculadora.

Los 8 mejores blogs de Java para programadores

Los 8 mejores blogs de Java para programadores

Como programador, debe enfrentar desafíos para sobrevivir y construir algunas maravillas en el campo del desarrollo o la programación. Por lo tanto, si está buscando aprender un lenguaje de programación avanzado para mejorar sus habilidades profesionales, Java es uno de los mejores prospectos que existen.

7 comandos vitales para comenzar con Python para principiantes

7 comandos vitales para comenzar con Python para principiantes

Aprender un nuevo lenguaje de programación como Python se vuelve fácil si tiene una hoja de ruta completa que detalla qué conceptos aprender como principiante y cómo progresar más para alcanzar el siguiente hito. Incluso los programadores intermedios deberían repasar con frecuencia sus conceptos básicos para construir una base sólida para ellos mismos.

Principios de diseño web receptivo

Principios de diseño web receptivo

Hoy en día, es una práctica común crear un sitio web o una aplicación que ajuste su interfaz de usuario según el navegador o el dispositivo. Hay dos enfoques para lograr este objetivo. La primera implica la creación de diferentes versiones de su sitio web o aplicación para diferentes dispositivos. Pero es ineficiente y puede provocar errores impredecibles.

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Trabajar con números es una parte integral de la programación. Todos los lenguajes de programación brindan soporte para manipular números de muchas formas diferentes. En este artículo, aprenderá a encontrar el número total de dígitos en un entero utilizando enfoques iterativos, basados ​​en registros y basados ​​en cadenas.

Las 9 mejores alternativas de Docker para la gestión de contenedores

Las 9 mejores alternativas de Docker para la gestión de contenedores

Los contenedores son muy beneficiosos para el desarrollo, la implementación y la administración de software en un entorno virtual. Docker es útil en el proceso de contenedorización, pero no es la única plataforma que existe. Si está buscando algunas alternativas a Docker, no busque más. Esta lista muestra algunas alternativas de Docker eficientes y ricas en funciones para usar en su próximo proyecto.

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

Cómo incrustar tweets en sus publicaciones de WordPress

Cómo incrustar tweets en sus publicaciones de WordPress

Incrustar servicios de terceros en sus publicaciones de WordPress es una forma emocionante de cautivar el interés de un visitante. El contenido incrustado también proporciona señales visuales que facilitan el escaneo. WordPress ha facilitado la adición de este tipo de contenido.

Cómo eliminar la carpeta de módulos de nodo con npkill

Cómo eliminar la carpeta de módulos de nodo con npkill

Node.js es un entorno de ejecución de JavaScript que le permite ejecutar JavaScript fuera de los navegadores web, lo que lo convierte en una opción popular para desarrollar todo tipo de aplicaciones. Parte de su popularidad se debe a la gran cantidad de paquetes de NPM que existen para facilitar la experiencia del desarrollador.

Cómo escribir y compilar su primer código de solidez

Cómo escribir y compilar su primer código de solidez

La solidez es el lenguaje de programación utilizado por los contratos inteligentes en la cadena de bloques Ethereum. Es un lenguaje de programación orientado a objetos de tipo estático.

Las 5 mejores insignias que potenciarán su repositorio de GitHub

Las 5 mejores insignias que potenciarán su repositorio de GitHub

Las insignias de GitHub pueden aumentar la legibilidad de un repositorio al proporcionar a los usuarios una forma rápida de capturar las métricas del repositorio. Las insignias se pueden incrustar en su README.md para aclarar la importancia y la necesidad de su proyecto a otros desarrolladores. Como resultado, los lectores obtienen una idea muy rápida del repositorio al verificar las insignias adjuntas.

¿Qué es el Día Internacional de los Programadores? 3 formas de celebrar este año

¿Qué es el Día Internacional de los Programadores? 3 formas de celebrar este año

Los días de celebración internacional son una buena forma de reconocer los asuntos sociales, los días históricos y las respectivas carreras. El Día Internacional de los Programadores celebra el papel que desempeñan los programadores para mejorar la vida cotidiana. El mundo civilizado en el que vivimos es producto del arduo trabajo de los programadores.

¿Cómo funciona el método Python String format ()? 10 ejemplos

¿Cómo funciona el método Python String format ()? 10 ejemplos

Ya sea una consulta de base de datos o resultados de operaciones matemáticas, el método de formato de cadena de Python ofrece una forma más dinámica y atractiva de presentar resultados a un usuario.

Visual Studio 2022 frente a 2019: ¿Debería actualizar ahora? Explicado

Visual Studio 2022 frente a 2019: ¿Debería actualizar ahora? Explicado

A principios de este año, Microsoft lanzó la versión preliminar de Visual Studio 2022 en el salvaje mundo de la programación. ¡Estas son buenas noticias! Es un IDE extremadamente popular, pero debido a una puesta a punto o tal vez incluso una revisión, dado el ritmo de cambio en el ecosistema DevOps en el que prospera.

Una introducción simple a las métricas de software

Una introducción simple a las métricas de software

Las métricas de software son medidas que se utilizan para cuantificar varios aspectos de su software. Estos aspectos pueden variar desde el costo, la calidad y la eficiencia del equipo de desarrollo.

Cómo instalar .NET Framework versión 3.5 en Windows 10

Cómo instalar .NET Framework versión 3.5 en Windows 10

Como usuario de Windows, probablemente al menos una vez se haya encontrado con las palabras .NET Framework. Es un marco de software desarrollado por Microsoft que le permite crear y ejecutar programas C #, C ++, F # y Visual Basic. La última versión de .NET es 4.8, pero es posible que su computadora necesite una versión anterior de .NET (como .NET 3.5) para ejecutar algunas aplicaciones.

Frasco o CherryPy: ¿Qué marco de Python debería usar?

Frasco o CherryPy: ¿Qué marco de Python debería usar?

Si es un desarrollador de Python, puede beneficiarse enormemente de la variedad de marcos disponibles. Si bien algunos marcos son más adecuados para grandes ecosistemas, otros se especializan en cumplir objetivos de desarrollo específicos. Siga leyendo para conocer las características básicas, los usos y las diferencias entre dos marcos de Python: Flask y CherryPy.

Cómo encontrar cubos y cuadrados perfectos de N dígitos usando Python, C ++ y JavaScript

Cómo encontrar cubos y cuadrados perfectos de N dígitos usando Python, C ++ y JavaScript

A muchos programadores les encanta resolver problemas matemáticos complicados utilizando código. Ayuda a agudizar la mente y mejorar la capacidad de resolución de problemas. En este artículo, aprenderá a encontrar los cuadrados y cubos perfectos de n dígitos más pequeños y más grandes utilizando Python, C ++ y JavaScript. Cada ejemplo también contiene una salida de muestra para varios valores diferentes.

Cómo agregar Python a la variable PATH de Windows

Cómo agregar Python a la variable PATH de Windows

Ejecutar Python desde la terminal a menudo es inevitable. Sin embargo, si acaba de instalar Python en Windows 10 por primera vez, ejecutarlo a través de la Terminal de Windows solo es posible si se agrega a la variable de entorno Windows PATH.

Cómo usar la declaración if de Python

Cómo usar la declaración if de Python

La declaración if es la fuerza impulsora de la programación lógica. Como resultado, una mejor comprensión de Pythons es una adición significativa a sus habilidades de programación de Python.

Cómo usar Python como una calculadora de línea de comandos

Cómo usar Python como una calculadora de línea de comandos

Si bien puede usar una calculadora gráfica en su computadora, el intérprete del lenguaje de programación Python puede funcionar como una calculadora de escritorio. Es una broma de ejecución tan popular en la comunidad de Python que se menciona en el tutorial oficial. Así es como puedes usar Python como calculadora.

Los 8 mejores blogs de Java para programadores

Los 8 mejores blogs de Java para programadores

Como programador, debe enfrentar desafíos para sobrevivir y construir algunas maravillas en el campo del desarrollo o la programación. Por lo tanto, si está buscando aprender un lenguaje de programación avanzado para mejorar sus habilidades profesionales, Java es uno de los mejores prospectos que existen.

7 comandos vitales para comenzar con Python para principiantes

7 comandos vitales para comenzar con Python para principiantes

Aprender un nuevo lenguaje de programación como Python se vuelve fácil si tiene una hoja de ruta completa que detalla qué conceptos aprender como principiante y cómo progresar más para alcanzar el siguiente hito. Incluso los programadores intermedios deberían repasar con frecuencia sus conceptos básicos para construir una base sólida para ellos mismos.

Principios de diseño web receptivo

Principios de diseño web receptivo

Hoy en día, es una práctica común crear un sitio web o una aplicación que ajuste su interfaz de usuario según el navegador o el dispositivo. Hay dos enfoques para lograr este objetivo. La primera implica la creación de diferentes versiones de su sitio web o aplicación para diferentes dispositivos. Pero es ineficiente y puede provocar errores impredecibles.

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Trabajar con números es una parte integral de la programación. Todos los lenguajes de programación brindan soporte para manipular números de muchas formas diferentes. En este artículo, aprenderá a encontrar el número total de dígitos en un entero utilizando enfoques iterativos, basados ​​en registros y basados ​​en cadenas.

Las 9 mejores alternativas de Docker para la gestión de contenedores

Las 9 mejores alternativas de Docker para la gestión de contenedores

Los contenedores son muy beneficiosos para el desarrollo, la implementación y la administración de software en un entorno virtual. Docker es útil en el proceso de contenedorización, pero no es la única plataforma que existe. Si está buscando algunas alternativas a Docker, no busque más. Esta lista muestra algunas alternativas de Docker eficientes y ricas en funciones para usar en su próximo proyecto.

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

Cómo incrustar tweets en sus publicaciones de WordPress

Cómo incrustar tweets en sus publicaciones de WordPress

Incrustar servicios de terceros en sus publicaciones de WordPress es una forma emocionante de cautivar el interés de un visitante. El contenido incrustado también proporciona señales visuales que facilitan el escaneo. WordPress ha facilitado la adición de este tipo de contenido.

Cómo eliminar la carpeta de módulos de nodo con npkill

Cómo eliminar la carpeta de módulos de nodo con npkill

Node.js es un entorno de ejecución de JavaScript que le permite ejecutar JavaScript fuera de los navegadores web, lo que lo convierte en una opción popular para desarrollar todo tipo de aplicaciones. Parte de su popularidad se debe a la gran cantidad de paquetes de NPM que existen para facilitar la experiencia del desarrollador.

Cómo escribir y compilar su primer código de solidez

Cómo escribir y compilar su primer código de solidez

La solidez es el lenguaje de programación utilizado por los contratos inteligentes en la cadena de bloques Ethereum. Es un lenguaje de programación orientado a objetos de tipo estático.