{"id":4520,"date":"2016-07-26T15:46:15","date_gmt":"2016-07-26T18:46:15","guid":{"rendered":"http:\/\/fx2.com.uy\/?p=4520"},"modified":"2021-10-22T09:22:45","modified_gmt":"2021-10-22T12:22:45","slug":"appium-un-aliado-para-la-automatizacion-de-pruebas-en-aplicaciones-moviles","status":"publish","type":"post","link":"https:\/\/fx2.com.uy\/es\/blog\/appium-un-aliado-para-la-automatizacion-de-pruebas-en-aplicaciones-moviles\/","title":{"rendered":"Appium: un aliado para la automatizaci\u00f3n de pruebas en aplicaciones m\u00f3viles"},"content":{"rendered":"<h4>Appium: un aliado para la automatizaci\u00f3n de pruebas en aplicaciones m\u00f3viles<\/h4>\n<p>Vivimos en un mundo donde las aplicaciones m\u00f3viles se han convertido en herramientas b\u00e1sicas de nuestra vida cotidiana. A trav\u00e9s de ellas y desde la comodidad de la palma de nuestra mano, podemos acceder a nuestras redes sociales, navegar por la web o consultar nuestro e-mail, entre un sinf\u00edn de otras posibilidades.<\/p>\n<p>No obstante, a muchos nos ha pasado de toparnos con distintos errores al utilizar nuestras aplicaciones predilectas; errores que incomodan bastante nuestra experiencia de usuario. Aplicaciones que se cierran solas o que simplemente no hacen lo que deber\u00edan, son algunos de los t\u00edpicos errores a los que nos podemos enfrentar.<\/p>\n<p>Por razones obvias, para los desarrolladores de aplicaciones m\u00f3viles es deseable poder detectar y corregir estos errores cuanto antes, sobre todo, antes de que la aplicaci\u00f3n pase a manos de los usuarios o clientes finales. Para conseguir esta detecci\u00f3n temprana de errores, se debe someter la aplicaci\u00f3n a un proceso de inspecci\u00f3n y pruebas llamado <strong>Testing<\/strong>, que asegure el correcto funcionamiento de la misma.<\/p>\n<p><strong>Appium al rescate<\/strong><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/fx2.com.uy\/wp-content\/uploads\/2016\/07\/appium.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-4521\" src=\"http:\/\/fx2.com.uy\/wp-content\/uploads\/2016\/07\/appium.png\" alt=\"appium\" width=\"452\" height=\"111\" \/><\/a><\/p>\n<p>Es sabido que hoy en d\u00eda existen una enorme variedad de dispositivos y plataformas m\u00f3viles (como <strong>Android<\/strong> e <strong>iOS<\/strong>), las cuales, a su vez, cuentan con distintas versiones. Esto lleva a que el <strong>Testing<\/strong> de aplicaciones m\u00f3viles puede volverse bastante complejo y demandarnos mucho tiempo y esfuerzo. Pero es aqu\u00ed en donde <strong><a href=\"http:\/\/appium.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Appium<\/a><\/strong> nos puede dar una gran mano.<\/p>\n<p><strong>Appium<\/strong> es una herramienta o m\u00e1s precisamente, un servidor escrito en <strong>node.js<\/strong>, que permite ejecutar pruebas para verificar <strong>autom\u00e1ticamente<\/strong> las <strong>propiedades<\/strong> y el <strong>comportamiento<\/strong> de los distintos elementos (botones, cajas de texto, listados, etc.) que componen la interface gr\u00e1fica de una aplicaci\u00f3n m\u00f3vil. Por comportamiento de los elementos enti\u00e9ndase el resultado o la acci\u00f3n que esperamos al interactuar con los mismos.<\/p>\n<p>Por ejemplo, supongamos que queremos probar el inicio de sesi\u00f3n en una determinada app, prueba que por lo general supone ingresar distintas combinaciones de nombre de usuario y contrase\u00f1as v\u00e1lidos e inv\u00e1lidos, en campos de texto de un formulario, para luego hacer tap en un bot\u00f3n que env\u00eda dichos datos para que sean verificados. Todas estas acciones pueden ser realizadas autom\u00e1ticamente por pruebas que le indiquen a <strong>Appium<\/strong> c\u00f3mo y d\u00f3nde localizar los elementos (campos de texto y bot\u00f3n, en este caso) y qu\u00e9 datos (usuario y contrase\u00f1a) o acciones (tap en bot\u00f3n) se deben realizar. Asimismo, luego de realizadas ciertas acciones, vamos a poder recuperar datos y propiedades de los elementos de la interface gr\u00e1fica de la aplicaci\u00f3n, para comprobar que las mismos sean correctos.<\/p>\n<p>Entonces, gracias a Appium, podremos verificar autom\u00e1ticamente el funcionamiento de nuestra aplicaci\u00f3n en una variedad de dispositivos y plataformas m\u00f3viles. Esto sin dudas representa una enorme ventaja, puesto que estamos ahorrando todo el tiempo y el esfuerzo que nos llevar\u00eda ejecutar todas esas pruebas manualmente.<\/p>\n<p><strong>Una herramienta para m\u00faltiples plataformas y tipos de app<\/strong><\/p>\n<p>Otro aspecto interesante de <strong>Appium<\/strong> es que es <strong>independiente de la plataforma m\u00f3vil<\/strong>. Esto significa que las pruebas que se ejecutan con <strong>Appium <\/strong>corren en todas las plataformas m\u00f3viles soportadas: <strong>Android<\/strong>, <strong>iOS<\/strong> y <strong>FirefoxOS<\/strong>, sin la necesidad de adaptarlas a cada plataforma espec\u00edfica. Este aspecto resulta muy ventajoso, ya que si, por ejemplo, queremos probar el funcionamiento de una aplicaci\u00f3n m\u00f3vil que est\u00e1 disponible para Android e iOS, escribimos las pruebas por \u00fanica vez y luego podremos ejecutarlas contra la app instalada en ambas plataformas, siendo <strong>Appium<\/strong> el que se encarga de \u201ctraducir\u201d los comandos de nuestras pruebas a comandos espec\u00edficos de cada plataforma.<br \/>\nFinalmente, la \u00faltima caracter\u00edstica destacable de <strong>Appium<\/strong> es que nos permite ejecutar pruebas automatizadas para los tres tipos de aplicaciones m\u00f3viles:<\/p>\n<p><img loading=\"lazy\" class=\"alignleft wp-image-4523\" src=\"http:\/\/fx2.com.uy\/wp-content\/uploads\/2016\/07\/descarga-2.png\" alt=\"descarga (2)\" width=\"340\" height=\"254\" \/><\/p>\n<ul>\n<li><strong>Nativas<\/strong>: aquellas que se desarrollaron utilizando el conjunto de herramientas de desarrollo, provistas por la propia plataforma (Android, iOS, etc.), conjunto que com\u00fanmente se denomina <strong>SDK<\/strong> (<em>Software Development Kit, <\/em>por sus siglas en ingl\u00e9s).<\/li>\n<li><strong>Mobile web<\/strong>: son aplicaciones desarrolladas utilizando los lenguajes de la web: HTML5, CSS y JavaScript, de manera que son accedidas desde el navegador web de nuestro dispositivo m\u00f3vil.<\/li>\n<li><strong>H\u00edbridas<\/strong>: como su nombre lo indica, son una combinaci\u00f3n entre una app nativa y una web mobile, ya que se ejecutan dentro de un contenedor nativo conocido como <em>WebView<\/em>, \u00a0 que permite acceder tanto al contenido web de la app (parte <strong>web mobile<\/strong>) como a algunas \u00a0acciones nativas de la plataforma (parte\u00a0<strong>nativa<\/strong>).<\/li>\n<\/ul>\n<p><em>Autor:\u00a0<a href=\"https:\/\/www.linkedin.com\/in\/mauricamacho\/en\" target=\"_blank\" rel=\"noopener noreferrer\">Mauricio Camacho &#8211; Equipo de QA de Fx2<\/a>\u00a0(a.k.a. <a href=\"https:\/\/twitter.com\/mcamachox\" target=\"_blank\" rel=\"noopener noreferrer\">@MCamachoX<\/a>)<\/em><\/p>\n<p>Link de inter\u00e9s:\u00a0<span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"http:\/\/appium.io\/\">http:\/\/appium.io\/<\/a><\/span><\/p>\n<p>&nbsp;\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Appium: un aliado para la automatizaci\u00f3n de pruebas en aplicaciones m\u00f3viles Vivimos en un mundo donde las aplicaciones m\u00f3viles se han convertido en herramientas b\u00e1sicas de nuestra vida cotidiana. A trav\u00e9s de ellas y desde la comodidad de la palma de nuestra mano, podemos acceder a nuestras redes sociales, navegar por la web o consultar [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":6560,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[96],"tags":[310],"_links":{"self":[{"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/posts\/4520"}],"collection":[{"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/comments?post=4520"}],"version-history":[{"count":1,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/posts\/4520\/revisions"}],"predecessor-version":[{"id":17034,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/posts\/4520\/revisions\/17034"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/media\/6560"}],"wp:attachment":[{"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/media?parent=4520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/categories?post=4520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/tags?post=4520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}