Curso Postman-20190323 - TeoricoPractico
Curso Postman-20190323 - TeoricoPractico
Curso Postman-20190323 - TeoricoPractico
Material Teórico-Práctico
Profesor:
Alumna:
Todos los logos, nombres, contenidos, imágenes, fotos, y marcas registradas pertenecen a sus
respectivos propietarios. © 2011-2019 Formación TIC. Todos los derechos reservados.
Formación TIC
Curso de Automatización de Pruebas de API / Servicios Web con Postman
Contenido
Capítulo I - Introducción
01. Presentación
02. Objetivos de las Pruebas
03. Proceso de Pruebas
04. Automatización de Pruebas
01. SOA
02. Servicios Web
03. XML
04. JSON
05. SOAP
06. WSDL
07. REST
08. WADL
01. Descripción
02. Descarga
03. Instalación
04. Interfaz de Usuario
05. Espacios de Trabajo
06. Envío de Solicitudes de API
07. Colecciones
08. Secuencias de Comandos
09. Entornos y Variables Globales
10. Monitores
11. Notificaciones
12. Simulación de Servidor
Capítulo I - Introducción
Presentación
Formación TIC es una empresa que nace en el año 2011, en la ciudad de Buenos Aires, Argentina,
como respuesta a la creciente necesidad de profesionales capacitados en las tecnologías de la
información y las comunicaciones (TIC)
Unidad Capacitadora (UCAP) del Programa “Capacitación PyME” del Ministerio de Producción y
Trabajo - Presidencia de la Nación.
• El foco principal de cualquier definición de calidad del software debería ser las necesidades del
cliente.
• Una guía planificada y sistemática de todas las acciones necesarias para proveer la evidencia
adecuada de que un producto software cumple con los requerimientos técnicos establecidos.
• Un conjunto de actividades diseñadas para evaluar el proceso por el cual un producto software
es desarrollado o construido.
• Se focaliza en los procesos que son utilizados para crear los entregables.
• Son aquellas acciones del aseguramiento de la calidad que proporcionan un medio para controlar
y medir las características de un elemento, proceso o facilidad respecto a los requerimientos
establecidos.
• Especificación formal, y fácilmente identificable, en la cual se detallan los pasos a seguir para
poder verificar un comportamiento esperado.
• Prevención de defectos
• Detección de defectos
Proceso de Pruebas
Automatización de Pruebas
Pruebas Manuales
• El probador asume el papel de un usuario final y prueba el software para identificar cualquier
comportamiento no esperado o defecto.
• Hay diferentes etapas para las pruebas manuales como las pruebas unitarias, pruebas de
integración, pruebas de sistema y pruebas de aceptación de usuario.
Pruebas Automáticas
• Ejecutar los escenarios de prueba que fueron ejecutados manualmente, de forma rápida y
repetidamente.
• Aparte de las pruebas de regresión, las pruebas automáticas también se utilizan para probar la
aplicación desde el punto de vista de carga, rendimiento y estrés.
¿Automatizar o No Automatizar?
• Hay casos en que las pruebas manuales pueden ser más apropiadas.
¿Qué automatizar?
• Pruebas unitarias
• Transacciones que el usuario puede realizar tales como inicios de sesión o formularios de
registración, y accesos de gran cantidad de usuarios simultáneamente.
• Además todos los elementos de interfaz gráfica de usuario, conexiones con bases de datos,
validaciones de campos pueden ser eficazmente probados mediante la automatización del
proceso manual.
¿Qué no automatizar?
• Pruebas de usabilidad
• Pruebas exploratorias
• Pruebas que no fallarán
• Tareas únicas de fácil ejecución manual y difícil automatización
Mitos y Realidades
Mito 1
Realidad 1
Las herramientas ayudan a los probadores para hacer su trabajo de una manera mucho mejor;
alivian a los probadores de tareas mundanas y aburridas y liberan su tiempo para que puedan
concentrarse en las tareas complejas.
Mito 2
La duración necesaria para capacitar a todos los probadores para utilizar las herramientas de
automatización es demasiado larga.
Realidad 2
Si se sigue la metodología correcta entonces la curva de aprendizaje puede reducirse en gran parte
y los probadores pueden llegar a ser productivos dentro de un lapso corto de tiempo.
Mito 3
Realidad 3
Con una formación adecuada los probadores pueden migrar fácilmente a cualquier nueva
herramienta de pruebas.
Mito 4
Realidad 4
Esto raramente funciona y generalmente es uno de los mayores errores que comete una
organización. En última instancia, el probador se agota y se afectan tanto las pruebas manuales
como automáticas.
Para que cualquier proyecto de automatización de prueba tenga éxito, es imprescindible tener un
conjunto de recursos dedicados sólo a la automatización de pruebas.
Mito 5
La automatización de pruebas es muy fácil. Sólo es grabar las secuencias de comandos en cualquier
momento dado de tiempo y reproducirlas cuando se quiera.
Realidad 5
Este tipo de actitud es probablemente la mayor razón por la cual empresas descartan proyectos de
automatización de pruebas y vuelven a pruebas manuales.
SOA
• Los beneficios que puede obtener una organización que adopte SOA son:
o Facilidad para abordar modelos de negocios basados en colaboración con otros entes
(socios, proveedores)
Servicios Web
• Los Servicios Web son con frecuencia sólo APIs Web que pueden ser accedidas a través de una
red, como Internet, y ejecutados en un sistema remoto que aloja los servicios solicitados.
• Los Servicios Web también pueden utilizarse para implementar la arquitectura según conceptos
de Arquitectura Orientada a Servicios (Service-Oriented Architecture, SOA), donde la
unidad básica de la comunicación es un mensaje, en lugar de una operación.
o REST
• Los lenguajes más extendidos para definir un servicio web tanto si se tiene una estructura SOAP
o REST son el estándar WSDL, WADL, RAML, Open API Specification y API Blueprint.
XML
• XML es sólo información en etiquetas, se debe escribir una aplicación que lo envíe, reciba,
almacene o muestre.
• XML separa los datos de la presentación. Los mismos datos del XML se pueden utilizar en
diferentes escenarios de presentación.
• Los documentos XML se forman como árboles de elementos, comenzando desde un elemento
raíz y pasando por elementos y subelementos.
o Los términos padres, hijos y hermanos se utilizan para describir las relaciones entre
los elementos.
o Los padres tienen hijos. Los hijos tienen padres. Los hermanos son hijos en el mismo
nivel.
biblioteca.xml
o Los documentos XML pueden contener caracteres internacionales, por lo que, para
evitarse errores, deben especificar la codificación utilizada, o guardarse los archivos
XML como UTF-8.
JSON
o JSON utiliza sintaxis de JavaScript, pero el formato de JSON es sólo texto, texto que
puede ser leído y utilizado como un formato de datos por cualquier lenguaje de
programación.
• JSON es autodescriptivo.
{
"BIBLIOTECA": {
"LIBRO": [
{
"TITULO": "Libro 1",
"AUTOR": "Autor 1"
}
]
}
}
SOAP
• Versiones:
o SOAP 1.1 fue sugerido en una nota al W3C en mayo de 2000 (por Developmentor,
IBM, Lotus, Microsoft, y Userland), como un protocolo para el intercambio de
información en un entorno distribuido.
• Ejemplos:
o SOAP 1.1
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:web="http://www.webserviceX.NET">
<soapenv:Header/>
<soapenv:Body>
<web:GetCitiesByCountry>
<web:CountryName>Argentina</web:CountryName>
</web:GetCitiesByCountry>
</soapenv:Body>
</soapenv:Envelope>
o SOAP 1.2
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-
envelope" xmlns:web="http://www.webserviceX.NET">
<soap:Header/>
<soap:Body>
<web:GetCitiesByCountry>
<web:CountryName>Argentina</web:CountryName>
</web:GetCitiesByCountry>
</soap:Body>
</soap:Envelope>
WSDL
• Versiones:
o WSDL 1.1 fue sugerido en una nota al W3C en marzo de 2001 (por Ariba, IBM y
Microsoft), como un lenguaje para describir Servicios Web.
o WSDL 1.2
• Un documento WSDL describe un Servicio Web. Especifica la ubicación del servicio y los
métodos del servicio, utilizando estos elementos:
http://www.dneonline.com/calculator.asmx?WSDL
REST
• REST no define cómo debe representarse la información pudiendo estar en formato XML como
en JSON, siendo, ésta última, la notación empleada en la mayoría de las ocasiones.
• REST no ofrece ningún tipo de seguridad, como tampoco lo hace HTTP. Ésta debe conseguirse
utilizando tecnologías encima del protocolo HTTP como HTTPS, etc.
o Cliente-Servidor
o Sin estado
o Cacheable
o Interfaz uniforme
Identificación de recursos
Mensajes autodescriptivos
o Sistema en capas
o POST
o GET
o PUT
o DELETE
• No mantiene estado
WADL
• No es un estándar.
• WADL modela los recursos provistos por un servicio y las relaciones entre ellos.
• Aunque aún no es universalmente aceptado sería el equivalente al WSDL para Servicios REST.
http://wadl.dev.java.net/2009/02
• El elemento resources (recursos) actúa como un contenedor para los recursos proporcionados
por la aplicación.
• Un elemento method (método) describe la entrada y salida de un método de protocolo HTTP que
puede ser aplicado a un recurso.
1 <?xml version="1.0"?>
2 <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xsi:schemaLocation="http://wadl.dev.java.net/2009/02 wadl.xsd"
4 xmlns:tns="urn:yahoo:yn"
5 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6 xmlns:yn="urn:yahoo:yn"
7 xmlns:ya="urn:yahoo:api"
8 xmlns="http://wadl.dev.java.net/2009/02">
9 <grammars>
10 <include
11 href="NewsSearchResponse.xsd"/>
12 <include
13 href="Error.xsd"/>
14 </grammars>
15
16 <resources base="http://api.search.yahoo.com/NewsSearchService/V1/">
17 <resource path="newsSearch">
18 <method name="GET" id="search">
19 <request>
20 <param name="appid" type="xsd:string"
21 style="query" required="true"/>
22 <param name="query" type="xsd:string"
23 style="query" required="true"/>
24 <param name="type" style="query" default="all">
25 <option value="all"/>
26 <option value="any"/>
27 <option value="phrase"/>
28 </param>
29 <param name="results" style="query" type="xsd:int" default="10"/>
30 <param name="start" style="query" type="xsd:int" default="1"/>
31 <param name="sort" style="query" default="rank">
32 <option value="rank"/>
33 <option value="date"/>
34 </param>
35 <param name="language" style="query" type="xsd:string"/>
36 </request>
37 <response status="200">
38 <representation mediaType="application/xml"
39 element="yn:ResultSet"/>
40 </response>
41 <response status="400">
42 <representation mediaType="application/xml"
43 element="ya:Error"/>
44 </response>
45 </method>
46 </resource>
47 </resources>
48
49 </application>
Descripción
Puede ser instalada como una aplicación independiente o como una extensión de Google Chrome.
La idea para Postman surgió mientras los creadores de la misma estaban trabajando juntos y se
sentían frustrados con las herramientas existentes para la prueba de API, introduciendo su creación
por primera vez en octubre de 2012, la cual creció rápidamente hasta convertirse en una de las más
populares aplicaciones en la Chrome Web Store – tienda en línea de aplicaciones web para el
navegador Google Chrome que es desarrollada y mantenida por Google –, y expandiéndose para
ser también una aplicación nativa para los sistemas operativos Mac, Windows, y Linux.
En 2014, los creadores de Postman fundaron la empresa Postdot Technologies con el objetivo de
dar soporte a la aplicación gratuita y desarrollar características más extensas para un producto SaaS
(Software as a Service / Software como un Servicio), lo cual se convirtió en las aplicaciones
comerciales Postman Pro (2016) y Postman Enterprise (2017).
Descarga
Instalación
Hacer clic derecho sobre el archivo de instalación de Postman y seleccionar Ejecutar como
administrador.
Marcar las tareas que se quieren realizar con Postman, y mantener o cambiar las opciones de
personalización de la interfaz.
En este caso, marcamos todas las tareas y mantenemos las opciones de personalización de la
interfaz, y hacemos clic izquierdo en el botón Save My Preferences (Guardar Mis Preferencias).
En este caso, hacer clic izquierdo en el botón Skip for now (Omitir por ahora).
Hacer clic izquierdo en el botón End lesson (Finalizar lección) para empezar a trabajar con
Postman.
Aparece la página de Postman informando que la dirección de correo electrónico fue confirmada.
Interfaz de Usuario
Postman proporciona una interfaz de múltiples ventanas y múltiples solapas para trabajar con API.
• El menú de Postman
o Solicitud
o Colección
o Entorno
o Documentación
o Simulación de Servidor
o Monitor
Al hacer clic izquierdo en el botón New, aparece seleccionada por defecto la solapa Create New
(Crear Nuevo), y las solapas Templates (Plantillas) y API Network (Red de API).
o En la parte inferior, se puede marcar Show this window on launch (Mostrar esta
ventana en el inicio de la aplicación) si se desea que la solapa Create New (Crear Nuevo)
se muestre cada vez que se abre Postman.
Importa colecciones de Postman, entornos, WADL, Swagger, RAML, o cURL en Postman usando
archivos, enlaces, o texto sin formato.
Abre una nueva Solapa, una nueva Ventana de Postman, o una nueva Ventana del Ejecutor.
Abre el menú de espacios de trabajo donde se pueden ver espacios de trabajo del equipo y
propios, y crear y gestionar espacios de trabajo.
La sincronización hace disponibles todos los datos del usuario de Postman cuando éste tiene
sesión iniciada de su cuenta de Postman.
Si se cierra la sesión, Postman elimina los datos del usuario de la instancia local de la aplicación,
datos que son restaurados desde la nube al éste reiniciar sesión, y permite a otros usuarios
utilizar la aplicación sin que los datos colisionen.
• Red de API
• Ícono de Configuración
o Settings (Configuración)
• Ícono de Notificaciones
• Ícono de Corazón
Si está iniciada la sesión, muestra al actual usuario y proporciona las siguientes opciones: Sign
Out (Cerrar Sesión), Profile (Perfil), Trash (Papelera), Account Settings (Configuración de la
Cuenta), Active Sessions (Sesiones Activas), y Add a new account (Agregar una nueva
cuenta).
Barra Lateral
• History (Historial)
• Collections (Colecciones)
Se puede arrastrar el borde derecho para cambiar el ancho de la barra lateral. También se puede
minimizar la barra lateral para pantallas de menor tamaño, y mostrar u ocultar la barra lateral desde
la barra de estado.
Barra de Estado
Constructor
• Solapas y Ventanas
Postman permite utilizar configuraciones de múltiples solapas y múltiples ventanas para trabajar
en múltiples solicitudes o incluso en múltiples colecciones juntas y al mismo tiempo.
Para abrir una nueva solapa en Postman, hacer clic izquierdo en el ícono + en el constructor, o
usar el atajo de teclado. Desde la barra de menús, también se puede seleccionar New Tab
(Nueva Solapa) del menú File (Archivo) para crear una nueva solapa.
Al hacer clic derecho en un nombre de solapa, el menú permite duplicar o cerrar solapas. Si una
solapa tiene cambios sin guardar al intentar cerrar la solapa, Postman pedirá guardar los
cambios.
• Solapas Ocupadas
Cuando se trabaja en una solapa ésta se convierte en ocupada. Por ejemplo, cuando se recibe
una respuesta o se hace un cambio que aún no está guardado (reflejado por un punto
anaranjado en la solapa), la solapa está ocupada.
Las solapas ocupadas garantizan que no se pierda la actual solicitud, aunque no sea una
colección. Cuando se está en una solapa ocupada y se abre una nueva solicitud desde la barra
lateral, Postman abre la solicitud en una nueva solapa y no reemplaza o interfiere con la solicitud
en la previa solapa ocupada.
Por defecto, Postman asume que se desea trabajar en una solicitud de colección en una sola
solapa.
Cuando se abre una solicitud de la barra lateral, Postman abre una nueva solapa cuando una
solapa actual tiene cambios sin guardar. Si no, la solicitud se apodera de la solapa actual.
Siempre se puede abrir una solicitud en una nueva solapa desde la barra lateral bajo la solapa
Collections (Colecciones). Hacer clic derecho en una solicitud y seleccionar Open in New Tab
(Abrir en Nueva Solapa).
• Menú de Solapa
Para acceder al menú de la solapa, hacer clic izquierdo en los tres puntos a la derecha de la
solapa. Un menú desplegable aparece con opciones para administrar las solapas.
Cuando se selecciona Force Close Current Tab (Forzar Cerrar la Solapa Actual) o Force
Close All Tabs (Forzar Cerrar Todas Solapas), la solapa se cierra inmediatamente sin antes
preguntar al usuario de guardar el trabajo en la solapa.
Cuando se selecciona Close Current Tab (Cerrar la Solapa Actual), Close All but Current
Tab (Cerrar Todas las Solapas excepto la Actual), o Close All Tabs (Cerrar Todas las
Solapas), un cuadro de diálogo aparece con la opción de guardar el trabajo.
• Moviendo Solicitudes
En el constructor de la solicitud, se pueden arrastrar y soltar solapas para reordenarlas, abrir una
nueva solicitud en una nueva solapa, o en una nueva ventana de Postman. También se pueden
abrir múltiples ventanas usando el ícono de nueva ventana en la barra de herramientas del
encabezado o el atajo del teclado.
Pasos:
Se obtiene la respuesta del servidor en la parte inferior con algunos datos JSON, y Postman añade
postman-echo.com/get bajo la solapa History (Historial) de la barra lateral.
Cada solicitud que se envía en Postman aparece bajo la solapa History (Historial) de la barra lateral.
En una pequeña escala, es conveniente reutilizar las solicitudes a través de la sección del historial –
History –. Sin embargo, al utilizar Postman cada vez más, encontrar una solicitud en particular en el
historial puede requerir mucho tiempo. Es aquí cuando las colecciones de Postman son requeridas.
• Las colecciones son grupos de solicitudes guardadas, y son la piedra angular sobre la que se
basan las características más avanzadas de Postman.
Pasos:
1. Con la solicitud que se acaba de enviar en el constructor de solicitud, hacer clic izquierdo en el
botón Save (Guardar) para abrir la ventana modal SAVE REQUEST (Guardar Solicitud).
3. Como paso opcional, ingresar una descripción de solicitud en texto plano o utilizando Markdown.
Espacios de Trabajo
Un Workspace (Espacio de Trabajo) es una vista de todos los elementos de Postman que han sido
utilizados: colecciones, entornos, simulaciones de servidor, monitores, y más.
Cada usuario puede organizar su trabajo en espacios de trabajo personales y los equipos pueden
colaborar en espacios de trabajo de equipo.
Cuando se remueve un elemento, este sigue existiendo en otros espacios de trabajo en donde ya
haya sido compartido.
Los espacios de trabajo personales son visibles sólo para el usuario al que le pertenecen.
Si no se tiene una cuenta de Postman, se puede tener sólo un espacio de trabajo personal. Si se
tiene una cuenta, se puede crear un número ilimitado de espacios de trabajo.
Los espacios de trabajo de equipo están disponibles para los usuarios de Postman.
Cada equipo tiene un espacio de trabajo de equipo por defecto, y puede crear un número ilimitado
de espacios de trabajo.
Cuando se crea un nuevo espacio de trabajo, se debe determinar si éste es un espacio de trabajo
personal o de equipo.
• Personal
• De equipo
Para crear un espacio de trabajo, en este caso, personal, hacer clic izquierdo en la solapa Personal,
y en Create New (Crear Nuevo).
Introducir Name (Nombre) y Summary (Resumen) del espacio de trabajo y hacer clic izquierdo en el
botón Create Workspace (Crear Espacio de Trabajo).
Se pueden agregar colecciones o entornos desde un espacio de trabajo a otro espacio de trabajo.
Ingresar al tablero de espacios de trabajo haciendo clic izquierdo en All workspaces en la aplicación
Postman o directamente ingresado en el explorador la dirección https://web.postman.co/workspaces.
Hacer clic izquierdo en el botón Add to workspace (Agregar al espacio de trabajo) del espacio de
trabajo al cual se le quieren agregar colecciones o entornos. En este caso, se va a agregar una
colección al Espacio de Trabajo 2 desde My Workspace.
Hacer clic izquierdo en el botón Add to this workspace (Agregar a este espacio de trabajo).
Colección 1 aparece en la lista de colecciones del espacio trabajo destino – Espacio de Trabajo 2
–.
2. Hacer clic izquierdo en Remove from workspace (Remover del espacio de trabajo), y confirmar
la remoción haciendo clic izquierdo en el botón Remove (Remover).
Hacer clic izquierdo en View all collections (Ver todas las colecciones)
Hacer clic izquierdo en el botón Share (Compartir) de la colección con nombre Colección 1 – es la
colección que se removió del espacio de trabajo con nombre Espacio de Trabajo 2, pero que sigue
visible en My Workspace –.
Eliminar un elemento es removerlo para siempre de todos los espacios de trabajo en donde pueda
estar siendo utilizado. – Este elemento podrá luego ser recuperado desde el Trash (Papelera) del
propietario dependiendo de su plan. –
2. En Delete Workspace (Eliminar Espacio de Trabajo), hacer clic izquierdo en el botón Delete
(Eliminar) para confirmar la eliminación.
En el menú desplegado, seleccionar la opción View Details (Ver Detalles) haciendo clic izquierdo
sobre la misma.
Publicar colecciones
Postman permite publicar la colección propia y hacerla disponible a cualquier persona con el enlace
publicado.
Para publicar esta colección del espacio de trabajo, ir al tablero de espacios de trabajo y hacer clic
izquierdo en My Workspace.
En la vista Collections (Colecciones), hacer clic izquierdo en el botón Puntos Suspensivos (...) y
seleccionar Publish (Publicar).
Solicitudes
En la barra de herramientas del encabezado, hacer clic izquierdo en el botón New (Nuevo).
Ingresar un título y una descripción para la solicitud, seleccionar una colección en donde guardar la
solicitud, y hacer clic izquierdo en el botón Save to... (Guardar en... – nombre de la colección –).
Nota:
La pantalla de Create New (Crear Nuevo) aparece por defecto cuando se inicia Postman si está
seleccionada la marca Show this window on launch (Mostrar esta ventana en el inicio de la
aplicación).
Cuando se ingresa el URL de la solicitud en el campo URL, URL usados previamente mostrarán una
lista desplegable de autocompletar. Por ejemplo, ingresar postman-echo.com/
Si el URL ya tiene parámetros, Postman divide automáticamente el URL en pares. Por ejemplo,
ingresar:
https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&hd=True
Nota:
Postman agrega automáticamente http:// al principio del URL si no se especifica ningún protocolo.
Algunos endpoints (puntos finales) de API utilizan path variables (variables de ruta), y Postman
permite trabajar con estas variables de ruta. Por ejemplo: https://api.library.com/:entity/
En el editor de datos de parámetros del URL se puede ver la variable entity (entidad) como una
clave sin valor. Actualizar el valor según sea necesario, por ejemplo, en este caso, podría ser user
(usuario).
• Headers (Encabezados)
Se puede establecer cualquier cadena de caracteres como el nombre del encabezado en el campo
Key (Clave), por ejemplo mi-encabezado.
Para el campo Value (Valor), mientras se escribe en el mismo, una lista desplegable de
autocompletar proporciona sugerencias de comunes encabezados de HTTP.
• Cookies
Hacer clic izquierdo en el enlace Cookies para abrir la ventana modal MANAGE COOKIES
(Administrar Cookies).
• Presets (Preajustes)
• Method (Método)
Utilizar el control desplegable para cambiar el método de la solicitud. El área del editor del cuerpo de
la solicitud cambia dependiendo de si el método puede tener un cuerpo adjuntado a él.
Mientras se construye la solicitud, se trabajará con frecuencia con el editor del cuerpo de la solicitud.
Postman permite enviar casi cualquier tipo de solicitud HTTP. El editor del cuerpo se divide en 4
áreas y tiene diferentes controles, dependiendo del tipo de cuerpo.
Cuando se están enviando solicitudes a través del protocolo HTTP, el servidor podría esperar un
encabezado Content-Type (Tipo de Contenido).
Para los tipos de cuerpo Form-data y Urlencoded, Postman automáticamente adjunta el correcto
encabezado de tipo de contenido así que no se lo tiene que establecer.
Si manualmente se utiliza un encabezado de tipo de contenido, ese valor tiene prioridad sobre lo que
Postman establece.
Postman no establece ningún tipo de encabezado para el tipo de cuerpo Binary (Binario).
Tipos de cuerpo:
o Form-data
Nota:
Postman aún soporta cargar múltiples archivos cada uno con su propio Content-Type.
o Urlencoded
Esta codificación es la misma que la usada en los parámetros del URL. Sólo se tienen que
ingresar pares de clave-valor, y Postman codificará las claves y los valores correctamente.
o Raw
Una solicitud básica puede contener cualquier cosa. Postman no toca la cadena ingresada en
el editor de raw excepto sustitución de variables de entorno. Todo lo que se pone en el área
de texto se envían con la solicitud.
El editor de raw permite establecer el tipo de formato junto con el encabezado correcto que
se debe enviar con el cuerpo básico. Se puede establecer también el encabezado Content-
Type manualmente y esto anulará la configuración definida por Postman.
o Binary
Datos binarios permiten enviar cosas que no se pueden ingresar en Postman, por ejemplo,
archivos de imágenes, audio o vídeo. También se pueden enviar archivos de texto.
Nota:
Al igual que para form-data, se tendrá que volver a adjuntar un archivo si se está cargando
una solicitud a través del historial o la colección.
Respuestas
El código de estado y el tiempo de finalización de la llamada de la API son visibles junto a las
solapas.
• Guardar respuestas
Si una solicitud fue guardada en una colección, se pueden guardar las respuestas para esa solicitud.
https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&hd=True
Hacer clic izquierdo en el botón Save (Guardar) y guardar la solicitud en una colección con nombre
Colección NASA.
Una vez que se obtiene la respuesta, hacer clic izquierdo en el botón Save (Guardar) de la
respuesta.
Ingresar un nombre en el campo NAME para llamar a la respuesta guardada, por ejemplo,
Respuesta 1.
Hacer clic izquierdo en el botón Save Example (Guardar Ejemplo) y luego cerrar la solapa
Respuesta 1.
Todas las respuestas guardadas para una solicitud estarán disponibles como un ejemplo cuando se
carga la solicitud.
Hacer clic izquierdo en el menú desplegable Examples (Ejemplos) en la parte superior derecha para
ver y seleccionar el ejemplo guardado, en este caso, Respuesta 1.
• Ver respuestas
La solapa Body (Cuerpo) de Postman da varias herramientas para ayudar a entender rápidamente
la respuesta. Se puede ver el cuerpo en una de las siguientes tres vistas: Pretty, Raw, y Preview.
Tipos de vistas:
o Pretty
El modo Pretty formatea respuestas JSON o XML para que sean más fáciles de ver.
Enlaces en el modo Pretty son resaltados y hacer clic izquierdo en ellos permite cargar una
solicitud GET en Postman con el URL del enlace.
o Raw
o Preview
Se puede maximizar el cuerpo para ocupar la ventana entera de Postman. Utilizar esta vista
si se va a trabajar con la respuesta por un período prolongado de tiempo.
Si el endpoint (punto final) de la API retorna una imagen, Postman la detectará y procesará
automáticamente. Para tipos de respuesta binaria, se debe seleccionar Send and download
(Enviar y descargar) que permitirá guarda la respuesta en el disco duro, pudiéndose después
ver usando el visor adecuado. Esto da la flexibilidad para probar archivos de audio, archivos
PDF, archivos zip, o cualquier cosa que depare la API.
• Headers (Encabezados)
Al pasar el cursor sobre el nombre del encabezado puede dar una descripción del encabezado de
acuerdo con la especificación HTTP.
Si se está enviando una solicitud HEAD, Postman mostrará la solapa Headers (Encabezados) por
defecto.
• Tiempo de respuesta
Postman calcula automáticamente el tiempo que la respuesta tarda en arribar desde el servidor. Esto
es útil para algunas pruebas preliminares de rendimiento.
• Tamaño de la respuesta
• Cookies
Para administrar las cookies en las aplicaciones nativas de Postman, utilizar el modal MANAGE
COOKIES (Administrar Cookies).
• Tests (Pruebas)
Se pueden ver los resultados de las pruebas que se ejecutan contra la solicitud.
History (Historial)
Postman almacena todas las solicitudes que se envían en la vista History (Historial) en la barra
lateral izquierda.
Si se crea una cuenta y se inicia sesión en Postman, el historial será sincronizado con el servidor de
Postman, respaldado en tiempo real, y recuperado a través de los propios dispositivos. Si se cierra la
sesión de Postman, y luego se inicia la sesión nuevamente, las últimas 10 solicitudes permanecerán
en el historial. Los usuarios de Postman Pro y Postman Enterprise tienen acceso a las últimas 100
solicitudes.
Se puede usar el historial para experimentar con variaciones de solicitudes rápidamente sin perder
tiempo construyendo una solicitud desde el principio. También se puede cargar una solicitud previa
haciendo clic izquierdo en el nombre de la solicitud.
Hacer clic izquierdo en una solicitud de la solapa History (Historial) para cargar la configuración
exacta de la solicitud en el constructor. Se pueden utilizar las teclas de flecha arriba y abajo para
navegar a través de las solicitudes. Postman cargará la solicitud en un estado de vista previa.
Presionando la tecla Enter o Intro (entrada o retorno) se asegurará de que la solicitud no es
reemplazada por otra.
• Encontrar solicitudes
Las solicitudes se ordenan por tiempo, con las solicitudes más recientes en la parte superior.
Si el historial de solicitudes llega a ser grande, se pueden filtrar solicitudes utilizando el campo de
búsqueda. Postman coincide el URL de solicitud en el historial con el término de búsqueda.
Para seleccionar múltiples solicitudes, mantener presionada la tecla CTRL en Windows o CMD en
Mac, y hacer clic izquierdo en cada solicitud que se desee seleccionar.
Para organizar solicitudes comúnmente utilizadas, se las puede guardar desde el historial en una
colección.
Para guardar una sola solicitud en una colección, desplazar el cursor sobre ella y hacer clic izquierdo
en el botón Signo Más (+) que se muestra junto a ella.
Al seleccionar múltiples solicitudes, el botón Signo Más (+) aparecerá en la parte superior de la
barra lateral.
Seleccionar una colección existente, o crear una nueva colección, para guardar las solicitudes en
una colección.
• Eliminar solicitudes
Para eliminar una sola solicitud del historial, pasar el cursor sobre ella y hacer clic izquierdo en el
ícono de Papelera que aparecerá junto a ella.
Para eliminar varias solicitudes del historial, realizar una selección múltiple de solicitudes y
eliminarlas del historial haciendo clic izquierdo en el ícono de Papelera que aparecerá en la parte
superior de la barra lateral una vez seleccionadas las solicitudes.
Para eliminar todas las solicitudes del historial, hacer clic izquierdo en el enlace Clear all (Limpiar
todo) en la parte superior de la barra lateral.
Hacer clic izquierdo en el botón Delete (Eliminar) para confirmar la eliminación de las solicitudades
del historial.
Puede haber casos en los que la API no funciona, o exhibe un comportamiento inesperado. Si no se
recibe una respuesta, Postman mostrará un mensaje acerca de un error en la conexión al servidor.
Por ejemplo, ingresar como URL de la solicitud http://www.localhost:3000 y hacer clic izquierdo en
el botón Send (Enviar) para ver este mensaje:
Las fallas pueden ser causadas por problemas de conectividad, por haberse configurado en
Postman un tiempo de espera muy corto, o por respuestas inválidas.
De requerirse más detalles sobre las posibles causas del error, se puede abrir la Postman Console
(Consola de Postman) que cuenta con información detallada sobre la falla.
Si una API o una prueba de API no se comportan según lo esperado, este es el lugar a donde ir
durante la depuración de la misma.
Mientras la ventana de la consola esté abierta, se podrán ir viendo los registros de log de todas las
actividades de la API.
o La respuesta exacta enviada por el servidor antes de ser procesada por Postman.
Para acceder a los registros de log de la consola de herramientas del desarrollar desde una
aplicación nativa de Postman se deben seguir los siguientes pasos:
2. Cuando se abre la ventana de DevTools (Herramientas del Desarrollar), hacer clic izquierdo en
la solapa Console (Consola).
Para acceder a los registros de log de la consola desde una aplicación nativa de Postman se deben
seguir los siguientes pasos:
1. Hacer clic izquierdo en el menú View (Vista) y en la opción Show Postman Console (Mostrar
Consola de Postman), o utilizar el atajo del teclado para esta opción.
Se abre la Postman Console (Consola de Postman) en donde se registrará cada llamada junto
con sus encabezados y cargas.
3. Seleccionar la ventana de la Postman Console (Consola de Postman) para ver los registros de
log.
Authorization (Autorización)
Cuando se envía una solicitud, a menudo se deben incluir parámetros para garantizar que la solicitud
tenga permiso para acceder y retornar los datos que se desean obtener del servidor.
Postman proporciona tipos de autorización que hacen fácil manejar protocolos de autenticación en
aplicaciones nativas de Postman.
Nota:
NTLM y Bearer Token están sólo disponibles en aplicaciones nativas de Postman. Todos los otros
tipos de autorización están disponibles en aplicaciones nativas de Postman y en la aplicación de
Google Chrome.
Cookies
Para abrir la ventana modal MANAGE COOKIES (Administrar Cookies), hacer clic izquierdo en el
enlace Cookies.
Al abrise la ventana modal MANAGE COOKIES (Administrar Cookies) se muestra una lista de
dominios y las cookies asociadas con ellos.
Certificates (Certificados)
Las aplicaciones nativas de Postman proporcionan una manera de ver y establecer los certificados
SSL por dominio.
Para administrar los certificados de cliente, hacer clic izquierdo en el ícono de Llave Inglesa en el
lado derecho de la barra de herramientas del encabezado, seleccionar Settings (Configuración), y la
solapa Certificates (Certificados).
Colecciones
Una colección de Postman permite agrupar las solicitudes individuales. Se pueden organizar estas
solicitudes en carpetas. Las siguientes son razones por las que se deberían crear colecciones:
• Organización
Se pueden agrupar solicitudes en carpetas y colecciones para no tener que buscar a través del
historial repetidamente.
• Documentación
• Suites de prueba
Se pueden utilizar secuencias de comandos para pasar datos entre solicitudes de API y construir
flujos de trabajo que reflejen el caso de uso real de la AP.
Secuencias de Comandos
Postman contiene un poderoso tiempo de ejecución basado en Node.js que permite añadir
comportamiento dinámico a las solicitudes y a las colecciones. Esto permite escribir suites de
pruebas, construir solicitudes que pueden contener parámetros dinámicos, pasar datos entre
solicitudes y mucho más. Se puede añadir código JavaScript para ejecutar en 2 eventos en el flujo:
1. Antes de enviar una solicitud al servidor, como una secuencia de comandos de pre-solicitud en la
solapa Pre-request Script (Secuencia de Comandos de Pre-solicitud).
2. Después de que una respuesta es recibida, como una secuencia de comandos de pruebas en la
solapa Tests (Pruebas).
• Para cada solicitud de una colección, las secuencias de comandos se ejecutarán en el siguiente
orden:
Para cada solicitud en una colección, las secuencias de comandos se ejecutarán siempre según la
siguiente jerarquía: secuencia de comandos de nivel de colección (si hubiera alguna), secuencia de
comandos de nivel de carpeta (si hubiera alguna), secuencia de comandos de nivel de solicitud (si
hubiera alguna). Nota: este orden de ejecución aplica tanto para secuencias de comandos de pre-
solicitud como de pruebas.
Por ejemplo, crear una estructura conformada por una colección con una única carpeta y 2
solicitudes en la carpeta:
• Collections (Colecciones)
Create (Crear)
o >
o Create (Crear)
Save (Guardar)
• New (Nuevo)
o Request (Solicitud)
Save (Guardar)
Ahora incluir, para este caso, secuencias de comandos de registros de log en la sección de
secuencias de comandos de pre-solicitud para la colección, la carpeta, y las solicitudes.
o Edit (Editar)
• Ingresar:
• Update (Actualizar)
Edit (Editar)
o Ingresar:
• Update (Actualizar)
Ingresar:
Ingresar:
Abrir la Postman Console (Consola de Postman) haciendo clic izquierdo en el menú View (Vista) y
en la opción Show Postman Console (Mostrar Consola de Postman), o utilizando el atajo del
teclado para esta opción.
Ejecutar la colección con nombre Ejemplo de orden de ejecución haciendo clic izquierdo en el
botón > y luego en el botón Run (Ejecutar) de esta colección.
Al abrirse el Collection Runner (Ejecutor de Colección), hacer clic izquierdo en el botón Run
(Ejecutar) de la colección seleccionada.
Al finalizar la ejecución, se pueden ver en la Postman Console (Consola de Postman) los registros
de log en el orden de ejecución confirmando la jerarquía existente.
Notas:
Cualquier código que se escriba en estas secciones se ejecutará en el Postman Sandbox – entorno
de ejecución de JavaScript que está disponible para el usuario mientras se escriben secuencias de
comandos de pre-solicitudes y de pruebas –.
Ejecutar una colección es útil cuando se desean automatizar las pruebas de API. Cuando se ejecuta
una colección, se envían todas las solicitudes de la colección una tras otra.
Con Postman se pueden escribir y ejecutar pruebas para cada solicitud usando el lenguaje
JavaScript.
La solicitud se puede guardar con un nombre que haga referencia al escenario a probar y una
descripción, convirtiéndose ese nombre en el caso de prueba.
Una prueba de Postman es esencialmente código JavaScript ejecutado después de que la solicitud
fue enviada, que permite el acceso al objeto pm.response
Los resultados deben contener un usuario único, masculino, y de los EE.UU. Las pruebas
verifican que el género y título del usuario son correctos, y que la dirección está en uno de
los 50 estados de los EE.UU.
// Prueba de género
pm.test("El género del usuario es masculino.", function () {
pm.expect(pm.response.json().results[0].gender).to.equal("male");
pm.expect(pm.response.json().results[0].name.title).to.equal("mr");
});
// Prueba de nacionalidad
pm.test("El usuario es de los EE.UU.", function () {
pm.expect(pm.response.json().results[0].nat).to.equal("US");
});
• Hacer clic izquierdo en Send (Enviar) para enviar la solicitud y ejecutar las pruebas
Variables
Las variables son nombres simbólicos que representan la información que se almacena en ellos. La
información que representa la variable puede cambiar, pero las operaciones en la variable siguen
siendo las mismas. Las variables en Postman funcionan del mismo modo.
Se puede reutilizar el valor de una variable en varios lugares. Si se cambia el valor de una variable,
cada instancia de esa variable cambia al nuevo valor.
Entornos
Al trabajar con API, a menudo se necesitan diferentes configuraciones, una para cada entorno con el
cual se esté trabajando. Entornos permite personalizar las solicitudes utilizando variables por lo que
se puede cambiar fácilmente entre diferentes configuraciones sin tener que cambiar las solicitudes.
No se tendrán que recordar todos esos valores una vez que están en Postman. Se pueden
descargar entornos, guardarlos como archivos JSON y subirlos más adelante.
Se puede crear, compartir, duplicar, exportar y eliminar un entorno. También se puede importar un
entorno como un único archivo JSON.
Crear un entorno y dos solicitudes en una colección que utilicen las variables del mismo, en donde
un valor en la respuesta de la primera solicitud sea utilizado por la segunda solicitud.
Tests:
pm.environment.set("valor1", data.cookies['foo1']);
Tests:
Variables Globales
Las variables globales proporcionan un conjunto de variables que siempre están disponibles para su
uso con alcance total en Postman. Se pueden tener múltiples entornos, pero sólo uno puede estar
activo a la vez con un conjunto de variables globales, que están siempre disponibles.
Monitores
Se puede configurar un monitor para ejecutar tan frecuentemente como cada 5 minutos para
comprobar si todas las solicitudes de la colección están arriba y saludables.
Notificaciones
Simulación de Servidor
Retrasos en el front- o back-end hacen difícil para equipos dependientes de los mismos completar su
trabajo eficientemente. La simulación de servidor de Postman puede aliviar esos retrasos en el
proceso de desarrollo.
Antes de enviar una solicitud real, los desarrolladores de front-end pueden crear una simulación de
servidor para simular cada endpoint (punto final) y su correspondiente respuesta en una Postman
Collection (Colección de Postman). Los desarrolladores pueden ver posibles respuestas, sin
requerir del back-end.
Creando una simulación de ejemplo durante la fase más temprana del desarrollo de API fomenta la
comunicación clara entre los miembros del equipo y alinea sus expectativas. Como resultado, todos
los equipos en el proceso de desarrollo pueden trabajar en paralelo; y equipos dependientes
experimentan menos retrasos.