{"id":15635,"date":"2023-03-24T12:28:12","date_gmt":"2023-03-24T15:28:12","guid":{"rendered":"https:\/\/cl.abstracta.us\/blog\/?p=15635"},"modified":"2024-04-24T18:55:26","modified_gmt":"2024-04-24T22:55:26","slug":"insomnia-herramienta-pruebas-api","status":"publish","type":"post","link":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/","title":{"rendered":"Herramienta para pruebas de API: Rese\u00f1a de Insomnia"},"content":{"rendered":"\n<p>En este post hablaremos de\u00a0Insomnia, sus principales caracter\u00edsticas, similitudes y diferencias con otras herramientas para pruebas de API.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"d598\"><strong>\u00bfQu\u00e9 es Insomnia?<\/strong><\/h2>\n\n\n\n<p id=\"bd12\"><strong>Insomnia es una aplicaci\u00f3n de escritorio multiplataforma gratuita que simplifica la interacci\u00f3n y el dise\u00f1o de API basadas en HTTP<\/strong>. Insomnia combina una interfaz f\u00e1cil de usar con funciones avanzadas como asistentes de autenticaci\u00f3n, generaci\u00f3n de c\u00f3digo y variables de entorno.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*uFNsYh455g6eNFms\" alt=\"\" width=\"807\" height=\"454\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"7bc1\"><strong>Comparativa de herramientas: Insomnia, Postman y SoapUI<\/strong><\/h2>\n\n\n\n<p id=\"96c0\">En la siguiente tabla, se comparan las principales caracter\u00edsticas de Insomnia con <strong>Postman<\/strong> y <strong>SoapUI<\/strong> para ver similitudes y diferencias.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/1*7BKUw36XxFZkr1K0OwYHkA.png\" alt=\"\" width=\"764\" height=\"1111\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"bc32\">Primer acercamiento a Insomnia<\/h2>\n\n\n\n<p id=\"f4ce\">Mis primeras pruebas con la herramienta fueron para este review, y el objetivo de las mismas era entender con qu\u00e9 caracter\u00edsticas cuenta Insomnia as\u00ed como tambi\u00e9n conocer de primera mano c\u00f3mo maneja tanto APIs REST como SOAP, por lo tanto, dichas pruebas fueron realizadas contra las APIs&nbsp;<a href=\"https:\/\/gorest.co.in\/\" rel=\"noreferrer noopener\" target=\"_blank\">GoREST<\/a>&nbsp;y&nbsp;<a href=\"http:\/\/webservices.oorsprong.org\/websamples.countryinfo\/CountryInfoService.wso?WSDL\" rel=\"noreferrer noopener\" target=\"_blank\">CountryInfoService<\/a>.<\/p>\n\n\n\n<p id=\"8110\">Anteriormente,&nbsp;vimos c\u00f3mo funciona <a href=\"https:\/\/cl.abstracta.us\/blog\/hoppscotch-herramienta-api-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\">Hoppscotch<\/a>, ecosistema de desarrollo de API de c\u00f3digo abierto, ahora queremos entender c\u00f3mo se comporta Insomnia probando una API Rest en comparaci\u00f3n con Postman y una API Soap en comparaci\u00f3n con SoapUI.<\/p>\n\n\n\n<p id=\"cd08\">A continuaci\u00f3n, comparto algunas capturas de pantalla tomadas durante las pruebas para mostrar c\u00f3mo luce la herramienta. Luego de descargarla e instalarla, su uso es realmente intuitivo, ya que presenta una interfaz muy similar a Postman.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"4b9d\"><strong>Prueba de concepto con GoREST<\/strong><\/h2>\n\n\n\n<p id=\"5912\">GoRest es una API Rest que est\u00e1 disponible en l\u00ednea para pruebas y prototipado. Permite el registro de usuarios los que pueden publicar post y comentarios. Como se trata de una API para pruebas solo contiene datos falsos.<\/p>\n\n\n\n<p id=\"6a5e\">Para comenzar con las pruebas sobre GoREST, cree un proyecto en el dashboard de Insomnia:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:476\/0*gUR7dhPnMDp_DDIE\" alt=\"\" width=\"823\" height=\"422\"\/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:235\/0*vjYaNg893frMdHfc\" alt=\"\" width=\"505\" height=\"721\"\/><\/figure><\/div>\n\n\n<p id=\"19ae\">Lo primero que hice fue configurar el ambiente de trabajo. Para ello vamos al men\u00fa de ambientes y seleccionamos la opci\u00f3n&nbsp;<strong>Manage Environments&nbsp;<\/strong>o&nbsp;<strong>Ctrl+E<\/strong>:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:298\/0*UB3meyEpatmMGCvR\" alt=\"\" width=\"508\" height=\"414\"\/><\/figure><\/div>\n\n\n<p id=\"68ef\">En el gestor de ambientes desplegamos las opciones en&nbsp;<strong>Sub Environments<\/strong>&nbsp;y seleccionamos&nbsp;<strong>Environment<\/strong>:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:402\/0*deUaR8Lt5-mu0BqD\" alt=\"\" width=\"504\" height=\"311\"\/><\/figure><\/div>\n\n\n<p id=\"d55a\">Con el nuevo ambiente creado, podemos hacer clic sobre el nombre para editarlo y comenzar a escribir los par\u00e1metros en formato JSON:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:432\/0*MycCWwF9iIcFAsSm\" alt=\"\" width=\"517\" height=\"248\"\/><\/figure><\/div>\n\n\n<p id=\"bd04\">Una vez creado el ambiente, debemos seleccionarlo de la lista desplegable:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:266\/0*NJWKsSqF-HoblyPT\" alt=\"\" width=\"481\" height=\"442\"\/><\/figure><\/div>\n\n\n<p id=\"6de4\">Dentro del ambiente, creamos las colecciones para organizar y almacenar las distintas peticiones:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:250\/0*0l38QohrFmOTqr5g\" alt=\"\" width=\"480\" height=\"762\"\/><\/figure><\/div>\n\n\n<p id=\"5754\">A diferencia de Postman o SoapUI, las colecciones o folders no se exportan directamente desde el men\u00fa contextual, sin embargo, en&nbsp;<strong>Settings&nbsp;<\/strong>se puede mover o copiar hacia otro Workspace.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*IDHPTJntAHUPXr-I\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"ea4c\">Para importar o exportar cualquier documento o colecci\u00f3n del workspace vamos al men\u00fa que se despliega en su nombre y seleccionamos&nbsp;<strong>Import\/Export<\/strong>:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:462\/0*F28lyuWaqb0MmS0-\" alt=\"\" width=\"554\" height=\"299\"\/><\/figure><\/div>\n\n\n<p id=\"1d44\">Como en herramientas similares, en las peticiones se pueden usar par\u00e1metros mediante las variables de entorno, definidas en formato JSON.<\/p>\n\n\n\n<p id=\"91e2\">Para invocar cualquier par\u00e1metro presionamos&nbsp;<strong>Ctrl+Espacio<\/strong>&nbsp;donde se desea insertar el mismo y se despliega una lista con todas las variables disponibles.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*0Ppma1kSQzbPtS4p\" alt=\"\"\/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*pmO_CC6HMIuEyaB6\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"dad9\">Tambi\u00e9n es posible indicar el par\u00e1metro directamente en la secci\u00f3n&nbsp;<strong>Query&nbsp;<\/strong>del pedido:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*bHrVjVMpf4A5_LFO\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"8c30\">En el caso de enviar una petici\u00f3n de tipo POST, como en otras herramientas, se puede seleccionar el tipo de&nbsp;<strong><em>Body<\/em><\/strong>&nbsp;(JSON, XML, YAML, EDN, Plain, Binary File, No Body):<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*ctRf4b7A7zVeJPJz\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"d034\">En el caso de la API que estamos probando, es necesario enviar un token de autorizaci\u00f3n que se puede agregar en la secci\u00f3n&nbsp;<strong>Auth&nbsp;<\/strong>seleccionando el&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/insomnia\/authentication\" rel=\"noreferrer noopener\" target=\"_blank\">tipo de autorizaci\u00f3n<\/a>&nbsp;requerida:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*coMw2tbQhYrH7Pu7\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"b1b1\">Insomnia permite realizar peticiones a partir de cURL. Para ello copiamos una de las cURL que ofrece la API GoRest como ejemplo y la pegamos en la URL de la petici\u00f3n:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*9EaFuZF6zuD-_5Vc\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"feb9\">Al pegar la cURL se visualiza autom\u00e1ticamente la URL:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*mgekLRgoALUtRl_V\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"2acb\">Asimismo, es posible enviar archivos adjuntos si seleccionamos&nbsp;<strong>Binary File<\/strong>&nbsp;en el Body:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*3GR7HUHfQ4Q1zXdM\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"8121\">Luego de seleccionar el archivo, la petici\u00f3n lucir\u00e1 as\u00ed:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*hMpoC_UBjy5yf3Jo\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"8394\">El resultado se puede ver en la parte derecha de la pantalla de la siguiente manera:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:382\/0*GWImeyDIjAqU37k8\" alt=\"\" width=\"560\" height=\"330\"\/><\/figure><\/div>\n\n\n<p id=\"cfd6\">Otra caracter\u00edstica compartida con otras herramientas es el historial de respuestas sobre la derecha para poder tener trazabilidad de nuestro trabajo:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*02FcqfiDJTyRAU81\" alt=\"\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"d49a\"><strong>Prueba de Concepto con CountryInfoService<\/strong><\/h2>\n\n\n\n<p id=\"8a28\">Es un servicio web que muestra informaci\u00f3n del pa\u00eds a partir de un c\u00f3digo ISO de dos letras, por ejemplo UY. Ofrece funciones para recuperar la moneda utilizada, el idioma, la ciudad capital, el continente y el c\u00f3digo de tel\u00e9fono.<\/p>\n\n\n\n<p id=\"5f62\">Para comenzar, cre\u00e9 otro proyecto en el dashboard de Insomnia. Tambi\u00e9n configur\u00e9 el ambiente y las colecciones del nuevo proyecto:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*IpijQ1ZvJDaH7Vrr\" alt=\"\"\/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:251\/0*Qps6VZgIyPusdO8d\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"a7dc\">Para los pedidos del tipo SOAP, lo que hacemos es seleccionar&nbsp;<strong>XML&nbsp;<\/strong>como tipo de Body y darle el formato correspondiente (XML):<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*DJd6dte10g4XOmzE\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"5b57\">Un dato que me pareci\u00f3 importante: debemos seleccionar el m\u00e9todo POST ya que si bien es posible usar&nbsp;<a href=\"https:\/\/www.w3.org\/TR\/2007\/REC-soap12-part0-20070427\/#transport\" rel=\"noreferrer noopener\" target=\"_blank\">GET en los web services Soap<\/a>, t\u00edpicamente dado que dicho protocolo utiliza payloads verbosos se suele utilizar POST. Adem\u00e1s, es necesario tambi\u00e9n configurar los headers:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*LPA3R8Pyyvw3O9LN\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"c26a\">Y obtenemos la respuesta:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*nOo6mt9AGsxi-X73\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"7bf0\">Si preferimos pasar datos como par\u00e1metros en el pedido, tambi\u00e9n podemos hacerlo:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*sRLn-DMsT_BXgXbT\" alt=\"\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"fb6c\"><strong>Encadenamiento de pedidos y respuestas<\/strong><\/h2>\n\n\n\n<p id=\"bab4\">Insomnia permite extraer valores de las respuestas para ser usados en otros pedidos. Por ejemplo, usar el ID de la respuesta de un m\u00e9todo POST en un pedido del tipo GET. Se puede ver esta&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/insomnia\/chaining-requests\" rel=\"noreferrer noopener\" target=\"_blank\">Documentaci\u00f3n<\/a>&nbsp;para mayor informaci\u00f3n.<\/p>\n\n\n\n<p id=\"7df8\">Existen tres tipos de opciones para las respuestas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Response \u2014 Body Attribute<\/strong>: para trabajar con respuesta JSON o XML, extrayendo atributos del body.<\/li>\n\n\n\n<li><strong>Response \u2014 Raw Body:<\/strong>&nbsp;Hace referencia a todo el contenido del cuerpo de una solicitud.<\/li>\n\n\n\n<li><strong>Response \u2014 Header:<\/strong>&nbsp;Extrae valores de encabezado espec\u00edficos de una respuesta.<\/li>\n<\/ul>\n\n\n\n<p id=\"c91f\">Para especificar el dato que se desea obtener de una respuesta, en la barra de URL vac\u00eda por ejemplo, ingresamos \u2018\/response\u2019 y se despliegan las opciones.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*A8PLN2r-dWuSVdW9\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"95fa\">Seleccionamos la deseada, en mi caso seleccion\u00e9&nbsp;<strong>Body Attribute<\/strong>. Luego hacemos click en el tag que est\u00e1 en rojo y configuramos el resto de las opciones.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:398\/0*2PYbPtKDywOoX-cF\" alt=\"\" width=\"560\" height=\"183\"\/><\/figure><\/div>\n\n\n<p id=\"bb81\">En&nbsp;<strong>Request&nbsp;<\/strong>debemos especificar a qu\u00e9 pedido hacemos referencia, lo seleccionamos de la lista desplegable. En&nbsp;<strong>Filter<\/strong>, que puede ser un JSONPath o XPath, ingresamos el dato que queremos obtener de la respuesta, que se visualizar\u00e1 en el recuadro&nbsp;<strong>Live Preview<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*dhyuRb-OlJM5MCQZ\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"2602\">En el siguiente ejemplo en el proyecto de GoRest, usamos el id obtenido de la respuesta del m\u00e9todo POST NewUser para enviar un pedido del tipo GET UserById. El dato lo pasamos como query del pedido:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*SGZ6RWyIH_0gxQv0\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"5276\">Y configuramos el tag de la siguiente manera:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*1-OWl6zTDwJvNGxl\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"2d57\">En el siguiente ejemplo en el proyecto de CountryInfoService, tomamos el ISO Code de la respuesta del pedido CountryByName y se lo pasamos al pedido FullCountryInfoByISOCode de la siguiente manera:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*LrU_Eu-4AtkR-O8T\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"73e5\">Como en el caso anterior, seleccionamos la respuesta que contiene el dato y en Filter ingresamos el XPath correspondiente:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*cQprW5J26unTSTeI\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"e99c\">De esta manera podemos ver que es diferente a c\u00f3mo se manejan los datos entre pedidos en Postman por ejemplo, aunque Insomnia tambi\u00e9n permite hacerlo mediante variables de entorno.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"999d\"><strong>Testing en Insomnia<\/strong><\/h2>\n\n\n\n<p id=\"8694\">A diferencia de Postman o SoapUI, Insomnia ofrece una pesta\u00f1a aparte para las pruebas. Anteriormente est\u00e1bamos trabajando en la pesta\u00f1a DEBUG con las peticiones y respuestas. Las pruebas unitarias se basan en el framework&nbsp;<a href=\"https:\/\/mochajs.org\/\" rel=\"noreferrer noopener\" target=\"_blank\">Mocha&nbsp;<\/a>y&nbsp;<a href=\"https:\/\/www.chaijs.com\/api\/assert\/\" rel=\"noreferrer noopener\" target=\"_blank\">Chai<\/a>&nbsp;para las assertions, con JavaScript, seg\u00fan la&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/insomnia\/unit-testing\" rel=\"noreferrer noopener\" target=\"_blank\">documentaci\u00f3n<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*kIANC-rbM89RdjSQ\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"e1bb\">Las pruebas unitarias se pueden organizar en Suites. Se pueden correr individualmente o correr la Suite completa.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*-LldiDPZc8e-x_I7\" alt=\"\"\/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:250\/0*RzG4kluEkljJ4buc\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"7e7d\">La imagen 1 muestra la organizaci\u00f3n de las pruebas unitarias en Suites en el panel de la izquierda.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*_m2034w2sigJscN4\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"3c61\">La imagen 2 muestra las pruebas unitarias dentro de la Suite, relacionadas con la petici\u00f3n correspondiente, en el panel central.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*1MaL7SVyPtOb6lnz\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"5f89\">Y la imagen 3 muestra los resultados de las pruebas con el tiempo consumido, en el panel situado a la derecha del workspace.<\/p>\n\n\n\n<p id=\"7346\">En el caso del proyecto con SOAP es el mismo procedimiento:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*wRPu1bnIXQK4AJbv\" alt=\"\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"fa25\"><strong>Inso CLI<\/strong><\/h2>\n\n\n\n<p id=\"7ec9\">Inso CLI (interfaz de l\u00ednea de comandos) para Insomnia se basa en&nbsp;<a href=\"https:\/\/nodejs.org\/es\/\" rel=\"noreferrer noopener\" target=\"_blank\">Node.js<\/a>&nbsp;y en las librer\u00edas principales de Insomnia. Permite utilizar la funcionalidad de Insomnia en la terminal y entornos de CI\/CD para la automatizaci\u00f3n. En este momento, Inso CLI solo funciona con&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/insomnia\/design-documents\" rel=\"noreferrer noopener\" target=\"_blank\">documentos de dise\u00f1o<\/a>&nbsp;y no con colecciones de solicitudes.<\/p>\n\n\n\n<p id=\"42d4\">Existen dos formas de instalar Inso CLI:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Desde un ejecutable que se descarga de&nbsp;<a href=\"https:\/\/github.com\/Kong\/insomnia\/releases\/tag\/lib@2.8.0\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>,<\/li>\n\n\n\n<li>A trav\u00e9s de NPM&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/insomnia-inso\" target=\"_blank\" rel=\"noreferrer noopener\">insomnia-inso<\/a>&nbsp;(actualmente solo es compatible con Node.js 16.x LTS)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5bec\"><strong>Inso Run Test<\/strong><\/h2>\n\n\n\n<p id=\"9df8\">En mi caso lo instal\u00e9 mediante la primera opci\u00f3n. Luego de instalado prob\u00e9 con los comandos como se explica en la&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/inso-cli\/introduction\" rel=\"noreferrer noopener\" target=\"_blank\">documentaci\u00f3n<\/a>, y este fue el resultado de correr las suites de pruebas del proyecto GoREST:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*_1Bij-gKY8D99_jg\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"3ef8\">Al correr el comando&nbsp;<strong>inso run test<\/strong>&nbsp;sin especificar un documento, se nos pide que seleccionemos uno de la lista. Luego de seleccionar el documento o la suite a probar, se nos pide que seleccionemos el ambiente, como se aprecia en la captura.<\/p>\n\n\n\n<p id=\"986f\">Lo mismo hice para el proyecto de CountryInfoService:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*EgfP61wHbl_PIEBK\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"2f19\">Si no se especifica un&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/inso-cli\/cli-command-reference\/inso-run-test\" rel=\"noreferrer noopener\" target=\"_blank\">tipo de reporte<\/a>&nbsp;(dot, list, spec, min y progress), por defecto usa spec.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5fa8\"><strong>Inso Export Spec<\/strong><\/h2>\n\n\n\n<p id=\"9f26\">Este comando extrae y exporta la especificaci\u00f3n&nbsp;<a href=\"https:\/\/swagger.io\/specification\/\" rel=\"noreferrer noopener\" target=\"_blank\">OpenAPI<\/a>&nbsp;sin procesar. La especificaci\u00f3n OpenAPI es el est\u00e1ndar para documentar API, y OpenAPI 3.0 es la versi\u00f3n m\u00e1s reciente de la especificaci\u00f3n OpenAPI. OpenAPI 3.0 ofrece diferentes mejoras, como una estructura m\u00e1s sencilla para definir API y componentes m\u00e1s reutilizables para reducir la duplicaci\u00f3n.<\/p>\n\n\n\n<p id=\"6055\">Con la opci\u00f3n \u2014 output &lt;path&gt; se guarda la especificaci\u00f3n en un archivo.<\/p>\n\n\n\n<p id=\"6bf6\">Exporta la especificaci\u00f3n cargada en la pesta\u00f1a \u2018DESIGN\u2019.<\/p>\n\n\n\n<p id=\"fa07\">Un documento de OpenAPI describe la interfaz p\u00fablica de la API REST y define informaci\u00f3n como nombre y descripci\u00f3n, los extremos (rutas) individuales, c\u00f3mo se autentican los emisores. Uno de los beneficios principales del uso de OpenAPI es para la documentaci\u00f3n; una vez que se tiene un documento de OpenAPI que describe la API, es f\u00e1cil generar la documentaci\u00f3n de referencia para la misma.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"f787\"><strong>Inso Generate Config<\/strong><\/h2>\n\n\n\n<p id=\"9511\">Este comando genera una configuraci\u00f3n a partir de la especificaci\u00f3n de API declarada en DESIGN mediante&nbsp;<a href=\"https:\/\/github.com\/Kong\/insomnia\/tree\/develop\/packages\/openapi-2-kong\" rel=\"noreferrer noopener\" target=\"_blank\">openapi-2-kong<\/a>. El comando funciona de manera similar a generar un archivo de&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/insomnia\/declarative-config\" rel=\"noreferrer noopener\" target=\"_blank\">configuraci\u00f3n declarativo o&nbsp;<\/a><a href=\"https:\/\/docs.insomnia.rest\/insomnia\/kong-for-kubernetes\" rel=\"noreferrer noopener\" target=\"_blank\">un manifiesto de Kubernetes<\/a>&nbsp;desde Insomnia. Puede verse un ejemplo&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/inso-cli\/cli-command-reference\/inso-generate-config\" rel=\"noreferrer noopener\" target=\"_blank\">aqu\u00ed<\/a>.<\/p>\n\n\n\n<p id=\"37e9\">Insomnia permite crear un archivo preformateado&nbsp;<a href=\"https:\/\/docs.konghq.com\/deck\/\" rel=\"noreferrer noopener\" target=\"_blank\">decK&nbsp;<\/a>cuando se agregan endpoints al documento o puede tomar un documento y generar un manifiesto de Kubernetes.<\/p>\n\n\n\n<p id=\"3c6e\">Ambas opciones est\u00e1n disponibles tambi\u00e9n en la interfaz de usuario de Insomnia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"4bdb\"><strong>Integraci\u00f3n Continua<\/strong><\/h2>\n\n\n\n<p id=\"83d6\">Inso CLI se ha dise\u00f1ado para ejecutarse en un <strong>entorno de integraci\u00f3n continua (CI)<\/strong>, quita la necesidad interactuar con la herramienta mediante prompts y proporciona c\u00f3digos de salida para aprobar o fallar el flujo de trabajo de CI. Puede verse un ejemplo&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/inso-cli\/continuous-integration\" target=\"_blank\" rel=\"noreferrer noopener\">aqu\u00ed<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dfb0\"><strong>Colaboraci\u00f3n<\/strong><\/h2>\n\n\n\n<p id=\"ba84\">Para trabajar en equipo y poder sincronizar los proyectos, es necesario registrarse en el&nbsp;<a href=\"https:\/\/app.insomnia.rest\/app\/signup\/\" rel=\"noreferrer noopener\" target=\"_blank\">dashboard web<\/a>&nbsp;de Insomnia. En la&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/insomnia\/teams\" rel=\"noreferrer noopener\" target=\"_blank\">documentaci\u00f3n<\/a>&nbsp;se explica c\u00f3mo trabajar en equipo y sincronizar los proyectos.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*945YJAUHSAcDlm3j\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"f5da\">Una vez ingresados en el dashboard podemos gestionar el equipo y agregar miembros a trav\u00e9s del correo electr\u00f3nico.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*y7wvDECJx1tOfCFt\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"2640\">Una vez sincronizado el trabajo, todos los miembros del equipo pueden visualizar en Insomnia desktop los proyectos del dashboard compartido.<\/p>\n\n\n\n<p id=\"3559\">Mi dashboard:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:471\/0*bPwvRNVzzDom2661\" alt=\"\" width=\"559\" height=\"424\"\/><\/figure><\/div>\n\n\n<p id=\"19da\">El dashboard de un colaborador:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:250\/0*QsDGaJKkhxZHtN_A\" alt=\"\" width=\"357\" height=\"453\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"6c44\"><strong>Pros de la herramienta Insomnia<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Su versi\u00f3n de pago es la m\u00e1s econ\u00f3mica comparada con Postman o SoapUI (ver <a href=\"https:\/\/docs.google.com\/document\/d\/1NkB20S46Xpt14sK8aUljztot4jNdxJLfv8OCIuaYCPA\/edit#bookmark=id.4mra1kgmfazl\" target=\"_blank\" rel=\"noreferrer noopener\">precios<\/a>).<\/li>\n\n\n\n<li>Algo adicional, permite manejar las Cookies de las respuestas y enviarlas en las peticiones autom\u00e1ticamente cuando sea necesario.<\/li>\n\n\n\n<li>Permite la integraci\u00f3n con GitHub de una manera sencilla.<\/li>\n\n\n\n<li>Permite el manejo de variables y datos de una manera m\u00e1s simple que las herramientas alternativas.<\/li>\n\n\n\n<li>Permite&nbsp;<a href=\"https:\/\/docs.insomnia.rest\/insomnia\/generate-code-snippet\" rel=\"noreferrer noopener\" target=\"_blank\">generar code snippets<\/a>&nbsp;para m\u00e1s de 12 lenguajes diferentes a partir de las peticiones.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:263\/0*XDEAAw7wAJglXqfR\" alt=\"\" width=\"263\" height=\"489\"\/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:290\/0*OJhFuh64kzEsSjjp\" alt=\"\"\/><\/figure><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Tambi\u00e9n permite importar un swagger de la API en la pesta\u00f1a DESIGN a partir de un archivo tipo yaml o ingresando manualmente el formato adecuado.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*53LNex5ZbBcRTfRn\" alt=\"\"\/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/0*BGS4Y3sg9E0345k-\" alt=\"\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"010f\"><strong>Contras de la herramienta Insomnia<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Las variables de entorno s\u00f3lo pueden configurarse en formato JSON.<\/li>\n\n\n\n<li>Los scripts de prueba deben ser ingresados manualmente ya que no presenta snippets como Postman por ejemplo.<\/li>\n\n\n\n<li>La colaboraci\u00f3n y el trabajo en equipo s\u00f3lo est\u00e1n disponibles en la versi\u00f3n de pago.<\/li>\n\n\n\n<li>Poca documentaci\u00f3n sobre las peticiones para SOAP.<\/li>\n\n\n\n<li>Inso CLI no trabaja con colecciones.<\/li>\n\n\n\n<li>S\u00f3lo est\u00e1 disponible para Desktop en Ingl\u00e9s.<\/li>\n\n\n\n<li>Si bien presenta un dashboard en la web para la gesti\u00f3n del trabajo en equipo, las peticiones y respuestas s\u00f3lo pueden ser manejadas desde la versi\u00f3n desktop.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0cc9\"><strong>Pricing<\/strong><\/h2>\n\n\n\n<p id=\"e73b\">En la siguiente tabla se comparan las distintas versiones de <strong>Insomnia, Postman y SoapUI<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:560\/1*wjRkMwt8ruHCA8rvApDYWw.png\" alt=\"\" width=\"812\" height=\"240\"\/><figcaption class=\"wp-element-caption\">*Los precios est\u00e1n expresados en d\u00f3lares americanos.<\/figcaption><\/figure><\/div>\n\n\n<p id=\"b16f\">Insomnia presenta una versi\u00f3n de prueba por 14 d\u00edas permitiendo la colaboraci\u00f3n en equipos de hasta 5 integrantes.<\/p>\n\n\n\n<p id=\"0800\">En el caso de SoapUI\/ReadyAPI lo que se compra es la licencia para distintos m\u00f3dulos como API Test o API Performance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5b95\">Reflexiones finales<\/h3>\n\n\n\n<p id=\"a8e7\">Si bien Insomnia presenta una interfaz muy similar a la de Postman, al estar dividida el \u00e1rea de trabajo en 3 \u2018pesta\u00f1as\u2019 donde se tratan distintos temas (DESIGN\/DEBUG\/TEST), la hace una herramienta m\u00e1s organizada para trabajar.<\/p>\n\n\n\n<p id=\"65ca\"><strong>El dashboard que presenta con los distintos proyectos del workspace y otras acciones como crear la documentaci\u00f3n, tambi\u00e9n resultan amigables para el usuario y ayudan a mantener organizados nuestros proyectos.<\/strong><\/p>\n\n\n\n<p id=\"420a\">En mi opini\u00f3n, tiene caracter\u00edsticas muy similares a Postman, no as\u00ed con SoapUI. En comparaci\u00f3n con Postman, me pareci\u00f3 una <strong>herramienta muy vers\u00e1til a la hora de trabajar con datos y variables<\/strong>. En la secci\u00f3n de pruebas, le faltar\u00eda agregar algunos snippets como ayuda.<\/p>\n\n\n\n<p id=\"060a\">Inso CLI permite un <strong>acercamiento a la automatizaci\u00f3n de pruebas<\/strong> permitiendo correr las suites, aunque para mi gusto le faltar\u00eda poder correr las colecciones.<\/p>\n\n\n\n<p id=\"d127\">Finalmente, la integraci\u00f3n con GitHub me parece un plus a destacar, ya que hoy en d\u00eda es fundamental el trabajo colaborativo en la red.<\/p>\n\n\n\n<p id=\"58ab\">Si esta <a href=\"https:\/\/insomnia.rest\/\" target=\"_blank\" rel=\"noreferrer noopener\">herramienta<\/a> para pruebas de API te parece interesante, te invito a usarla y dejar tus comentarios al respecto.<\/p>\n\n\n\n\n\n<p><strong>\u00a1S\u00edguenos en\u00a0<a href=\"https:\/\/bit.ly\/LinkedIn-Abstracta-Chile\" target=\"_blank\" rel=\"noreferrer noopener\">LinkedIn<\/a>,\u00a0<a href=\"https:\/\/bit.ly\/TW-Abstracta-Chile\" target=\"_blank\" rel=\"noreferrer noopener\">X<\/a>,\u00a0<a href=\"https:\/\/bit.ly\/FB-Abstracta-Chile\" target=\"_blank\" rel=\"noreferrer noopener\">Facebook<\/a>,\u00a0<a href=\"https:\/\/bit.ly\/Instagram-Abstracta-Latam\" target=\"_blank\" rel=\"noreferrer noopener\">Instagram<\/a>\u00a0y\u00a0<a href=\"https:\/\/bit.ly\/YT-Abstracta\" target=\"_blank\" rel=\"noreferrer noopener\">YouTube<\/a>\u00a0para ser parte de nuestra comunidad y acceder a nuevas herramientas de pruebas de API.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Conoce c\u00f3mo funciona Insomnia, herramienta de pruebas de API de uso intuitivo e interfaz amigable, sus principales caracter\u00edsticas, similitudes y diferencias con otras tools como Postman y SoapUI.<\/p>\n","protected":false},"author":38,"featured_media":15647,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57],"tags":[143,3,92,16],"class_list":["post-15635","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-herramientas-pruebas","tag-api-testing","tag-automatizacion-pruebas","tag-open-source","tag-pruebas-de-software"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Herramienta para pruebas de API: Rese\u00f1a de Insomnia - Abstracta<\/title>\n<meta name=\"description\" content=\"Conoce c\u00f3mo funciona Insomnia, herramienta de pruebas de API de uso intuitivo e interfaz amigable, sus principales caracter\u00edsticas, similitudes y diferencias con otras tools como Postman y SoapUI.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Herramienta para pruebas de API: Rese\u00f1a de Insomnia - Abstracta\" \/>\n<meta property=\"og:description\" content=\"Conoce c\u00f3mo funciona Insomnia, herramienta de pruebas de API de uso intuitivo e interfaz amigable, sus principales caracter\u00edsticas, similitudes y diferencias con otras tools como Postman y SoapUI.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog de Desarrollo de Software, Testing e Inteligencia Artificial | Abstracta\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AbstractaChile\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-24T15:28:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-24T22:55:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2023\/03\/insomnia-herramienta-api-testing-resena.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Abstracta Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AbstractaChile\" \/>\n<meta name=\"twitter:site\" content=\"@AbstractaChile\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abstracta Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/\"},\"author\":{\"name\":\"Abstracta Team\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/374d557eb4159dd8bc80fa5cedf4e523\"},\"headline\":\"Herramienta para pruebas de API: Rese\u00f1a de Insomnia\",\"datePublished\":\"2023-03-24T15:28:12+00:00\",\"dateModified\":\"2024-04-24T22:55:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/\"},\"wordCount\":2434,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#organization\"},\"keywords\":[\"API Testing\",\"Automatizaci\u00f3n de Pruebas\",\"Open Source\",\"Pruebas de Software\"],\"articleSection\":[\"Herramientas\"],\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/\",\"url\":\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/\",\"name\":\"Herramienta para pruebas de API: Rese\u00f1a de Insomnia - Abstracta\",\"isPartOf\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#website\"},\"datePublished\":\"2023-03-24T15:28:12+00:00\",\"dateModified\":\"2024-04-24T22:55:26+00:00\",\"description\":\"Conoce c\u00f3mo funciona Insomnia, herramienta de pruebas de API de uso intuitivo e interfaz amigable, sus principales caracter\u00edsticas, similitudes y diferencias con otras tools como Postman y SoapUI.\",\"breadcrumb\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/#breadcrumb\"},\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/es.abstracta.us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Herramienta para pruebas de API: Rese\u00f1a de Insomnia\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#website\",\"url\":\"https:\/\/es.abstracta.us\/blog\/\",\"name\":\"Abstracta\",\"description\":\"Recursos, buenas pr\u00e1cticas, tendencias y rese\u00f1as de herramientas de desarrollo de software, testing e Inteligencia Artificial.\",\"publisher\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/es.abstracta.us\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es-CL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#organization\",\"name\":\"Abstracta\",\"url\":\"https:\/\/es.abstracta.us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png\",\"contentUrl\":\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png\",\"width\":1217,\"height\":300,\"caption\":\"Abstracta\"},\"image\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.instagram.com\/we_are_abstracta\/\",\"https:\/\/www.linkedin.com\/showcase\/abstracta-chile\/\",\"https:\/\/www.youtube.com\/channel\/UCj4dx2LZCRcgM8GzxYEKYeQ\",\"https:\/\/www.facebook.com\/AbstractaChile\/\",\"https:\/\/twitter.com\/AbstractaChile\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/374d557eb4159dd8bc80fa5cedf4e523\",\"name\":\"Abstracta Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/918af28f3280de6f53fa272bb6aab41b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/918af28f3280de6f53fa272bb6aab41b?s=96&d=mm&r=g\",\"caption\":\"Abstracta Team\"},\"sameAs\":[\"https:\/\/cl.abstracta.us\/\"],\"url\":\"https:\/\/es.abstracta.us\/blog\/author\/abstracta-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Herramienta para pruebas de API: Rese\u00f1a de Insomnia - Abstracta","description":"Conoce c\u00f3mo funciona Insomnia, herramienta de pruebas de API de uso intuitivo e interfaz amigable, sus principales caracter\u00edsticas, similitudes y diferencias con otras tools como Postman y SoapUI.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/","og_locale":"es_ES","og_type":"article","og_title":"Herramienta para pruebas de API: Rese\u00f1a de Insomnia - Abstracta","og_description":"Conoce c\u00f3mo funciona Insomnia, herramienta de pruebas de API de uso intuitivo e interfaz amigable, sus principales caracter\u00edsticas, similitudes y diferencias con otras tools como Postman y SoapUI.","og_url":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/","og_site_name":"Blog de Desarrollo de Software, Testing e Inteligencia Artificial | Abstracta","article_publisher":"https:\/\/www.facebook.com\/AbstractaChile\/","article_published_time":"2023-03-24T15:28:12+00:00","article_modified_time":"2024-04-24T22:55:26+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2023\/03\/insomnia-herramienta-api-testing-resena.png","type":"image\/png"}],"author":"Abstracta Team","twitter_card":"summary_large_image","twitter_creator":"@AbstractaChile","twitter_site":"@AbstractaChile","twitter_misc":{"Written by":"Abstracta Team","Est. reading time":"21 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/#article","isPartOf":{"@id":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/"},"author":{"name":"Abstracta Team","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/374d557eb4159dd8bc80fa5cedf4e523"},"headline":"Herramienta para pruebas de API: Rese\u00f1a de Insomnia","datePublished":"2023-03-24T15:28:12+00:00","dateModified":"2024-04-24T22:55:26+00:00","mainEntityOfPage":{"@id":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/"},"wordCount":2434,"commentCount":0,"publisher":{"@id":"https:\/\/es.abstracta.us\/blog\/#organization"},"keywords":["API Testing","Automatizaci\u00f3n de Pruebas","Open Source","Pruebas de Software"],"articleSection":["Herramientas"],"inLanguage":"es-CL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/","url":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/","name":"Herramienta para pruebas de API: Rese\u00f1a de Insomnia - Abstracta","isPartOf":{"@id":"https:\/\/es.abstracta.us\/blog\/#website"},"datePublished":"2023-03-24T15:28:12+00:00","dateModified":"2024-04-24T22:55:26+00:00","description":"Conoce c\u00f3mo funciona Insomnia, herramienta de pruebas de API de uso intuitivo e interfaz amigable, sus principales caracter\u00edsticas, similitudes y diferencias con otras tools como Postman y SoapUI.","breadcrumb":{"@id":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/#breadcrumb"},"inLanguage":"es-CL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/es.abstracta.us\/blog\/insomnia-herramienta-pruebas-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/es.abstracta.us\/blog\/"},{"@type":"ListItem","position":2,"name":"Herramienta para pruebas de API: Rese\u00f1a de Insomnia"}]},{"@type":"WebSite","@id":"https:\/\/es.abstracta.us\/blog\/#website","url":"https:\/\/es.abstracta.us\/blog\/","name":"Abstracta","description":"Recursos, buenas pr\u00e1cticas, tendencias y rese\u00f1as de herramientas de desarrollo de software, testing e Inteligencia Artificial.","publisher":{"@id":"https:\/\/es.abstracta.us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/es.abstracta.us\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es-CL"},{"@type":"Organization","@id":"https:\/\/es.abstracta.us\/blog\/#organization","name":"Abstracta","url":"https:\/\/es.abstracta.us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png","contentUrl":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png","width":1217,"height":300,"caption":"Abstracta"},"image":{"@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/we_are_abstracta\/","https:\/\/www.linkedin.com\/showcase\/abstracta-chile\/","https:\/\/www.youtube.com\/channel\/UCj4dx2LZCRcgM8GzxYEKYeQ","https:\/\/www.facebook.com\/AbstractaChile\/","https:\/\/twitter.com\/AbstractaChile"]},{"@type":"Person","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/374d557eb4159dd8bc80fa5cedf4e523","name":"Abstracta Team","image":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/918af28f3280de6f53fa272bb6aab41b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/918af28f3280de6f53fa272bb6aab41b?s=96&d=mm&r=g","caption":"Abstracta Team"},"sameAs":["https:\/\/cl.abstracta.us\/"],"url":"https:\/\/es.abstracta.us\/blog\/author\/abstracta-team\/"}]}},"jetpack_featured_media_url":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2023\/03\/insomnia-herramienta-api-testing-resena.png","_links":{"self":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/15635"}],"collection":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/users\/38"}],"replies":[{"embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/comments?post=15635"}],"version-history":[{"count":14,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/15635\/revisions"}],"predecessor-version":[{"id":17584,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/15635\/revisions\/17584"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/media\/15647"}],"wp:attachment":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/media?parent=15635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/categories?post=15635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/tags?post=15635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}