{"id":12086,"date":"2023-11-08T21:38:53","date_gmt":"2023-11-08T21:38:53","guid":{"rendered":"https:\/\/bissoluciones.com\/blog\/?p=12086"},"modified":"2023-11-08T21:41:49","modified_gmt":"2023-11-08T21:41:49","slug":"como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2","status":"publish","type":"post","link":"https:\/\/bissoluciones.com\/blog\/en\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/","title":{"rendered":"How to automate unit testing, interface web interface and mobile apps?"},"content":{"rendered":"<p>En esta entrada, Mariana Falabrino , Customer Success de Abstracta , explica los pasos para automatizar pruebas unitarias , de interfaz web y de interfaz mobile con GXtest , el producto desarrollado conjuntamente entre Abstracta y GeneXus para dise\u00f1ar, implementar y ejecutar pruebas funcionales en aplicaciones web y m\u00f3viles.<\/p>\n\n\n\n<p>Para esto, se utiliz\u00f3 como ejemplo un sistema bancario multiplataforma que gestiona cuentas, usuarios, tarjetas de cr\u00e9ditos y transferencias.<\/p>\n\n\n\n<p>\u201cLa prueba unitaria la vamos a ejecutar posterior al paso de build de la aplicaci\u00f3n. Las pruebas de interfaz las ejecutaremos cuando deployemos nuestra aplicaci\u00f3n, para obtener un feedback temprano del estado de la app, reparar los bugs tempranamente, y as\u00ed poder entregar valor al cliente de forma r\u00e1pida. En primera instancia, estas pruebas las vamos a ejecutar a nivel de IDE luego de hacer el build de nuestra app, para esto tenemos una propiedad para configurar la ejecuci\u00f3n autom\u00e1tica de las pruebas luego del Build all de nuestra KB. Es fundamental considerar que el valor de las pruebas crece exponencialmente cuando las ejecutamos en un pipeline de forma desatendida, posterior al build y al deploy, obteniendo un feedback casi inmediato en cada deploy de la aplicaci\u00f3n\u201d, detalla Falabrino.<\/p>\n\n\n\n<p>Para entender a profundidad los detalles, no dejen de ver su charla Software Testing con GeneXus , creada en el marco del GeneXus Live .<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Software Testing con GeneXus\" width=\"1300\" height=\"731\" src=\"https:\/\/www.youtube.com\/embed\/7A0EguJ5-Og?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>A continuaci\u00f3n, compartimos los distintos tipos de test que se pueden automatizar en GeneXus. En este ejemplo se automatizar\u00e1 la funcionalidad de creaci\u00f3n de una nueva transferencia verificando los saldos de las cuentas origen y destino en las distintas plataformas. \u00bfLa misi\u00f3n? Garantizar que al momento de hacer cambios no se rompa esa funcionalidad.<\/p>\n\n\n\n<p>Esta funcionalidad se verificar\u00e1 en distintas capas de pruebas:<\/p>\n\n\n\n<p><strong>1- Prueba unitaria<\/strong><\/p>\n\n\n\n<p>En primer lugar se crear\u00e1 una prueba unitaria que verificar\u00e1 el comportamiento de un procedimiento que aprueba o rechaza la transferencia dependiendo del saldo de la cuenta de origen.<\/p>\n\n\n\n<p><strong>2 \u2013 Prueba de interfaz web<\/strong><\/p>\n\n\n\n<p>Luego se ejecutar\u00e1 una prueba de interfaz del escenario, creando una nueva transferencia, y validando el saldo de la cuenta de origen antes y despu\u00e9s de la confirmaci\u00f3n de esa transferencia.<\/p>\n\n\n\n<p><strong>3 \u2013 Prueba de interfaz mobile<\/strong><\/p>\n\n\n\n<p>Finalmente se ejecutar\u00e1 una prueba de interfaz sobre la aplicaci\u00f3n m\u00f3vil, la cual verifica el saldo de la cuenta destino de la transferencia que se realiz\u00f3 anteriormente.<\/p>\n\n\n\n<p>Veamos c\u00f3mo crear cada tipo de prueba:<\/p>\n\n\n\n<p><strong>1 \u2013 Pruebas unitarias<\/strong><\/p>\n\n\n\n<p>El objetivo de estas pruebas es verificar la l\u00f3gica core del negocio, para poder realizar esta validaci\u00f3n se recomienda encapsular la l\u00f3gica del negocio en objetos procedures.<\/p>\n\n\n\n<p><strong>Esto lo hacemos en dos pasos:<\/strong><\/p>\n\n\n\n<p><strong>Paso 1: Generar la prueba unitaria<\/strong><\/p>\n\n\n\n<p>\u201cPara verificar el comportamiento del procedimiento CheckBalanceForTransfer, con distintos datos de entrada, es necesario crear una prueba automatizada unitaria. Para esto se debe seleccionar la opci\u00f3n Create Unit Test, ingresar los datos de prueba con los que se prev\u00e9 ejecutar el procedimiento y as\u00ed se crea el objeto Unit Test con un template ya listo para ser ejecutado. Este template lo que hace es recorrer los distintos juegos de prueba, ejercitando el procedimiento que se quiere probar y validando el resultado esperado con el obtenido por cada uno de los datos de prueba\u201d.<\/p>\n\n\n\n<p><strong>Paso 2: Cargar los datos de prueba<\/strong><\/p>\n\n\n\n<p>\u201cLo que resta es setear los valores esperados, ejecutando el Unit Test seleccionando Run Test(s). El objeto Unit Test tiene la misma potencia que un procedure. Pueden agregar validaciones a la base de datos, llamar funciones, agregar variables y llamar otros procedimientos. Ac\u00e1 se despliega en el panel de resultados los detalles de la ejecuci\u00f3n. Tambi\u00e9n pueden ejecutar nuevamente las pruebas, y ver la informaci\u00f3n detallada de la cobertura de prueba y de cada una de las assertions ejecutadas\u201d.<\/p>\n\n\n\n<p><strong>2 \u2013 Pruebas de interfaz web<\/strong><\/p>\n\n\n\n<p>El objetivo de la prueba de interfaz web es verificar un escenario en una aplicaci\u00f3n deployada. Para implementarla se debe grabar el flujo que se quiere automatizar y luego ejecutarlo en un navegador.<\/p>\n\n\n\n<p>\u201cLa prueba de interfaz lo que hace es simular la interacci\u00f3n entre el usuario y la aplicaci\u00f3n realizando las validaciones que se agreguen. Se puede ejecutar en distintos navegadores. Esta informaci\u00f3n (navegador, versi\u00f3n, fecha y ejecuci\u00f3n de cada uno de los comandos junto con los assertions agregados en el flujo) se puede visualizar en el panel de resultados. Es importante que las pruebas de interfaz sean implementadas en los flujos de mayor riesgo de nuestro negocio para poder capturar los bugs de forma temprana y as\u00ed poder agilizar nuestro ciclo de desarrollo\u201d.<\/p>\n\n\n\n<p><strong>Paso 1: Abrir el GXtest Recorder<\/strong><\/p>\n\n\n\n<p>\u201cSe debe seleccionar la opci\u00f3n Record Web UI test. Esto har\u00e1 que se abra GXtest Recorder, que es una grabadora que captura las distintas acciones que se ejecuten sobre la aplicaci\u00f3n para luego devolver el script del c\u00f3digo GeneXus.<\/p>\n\n\n\n<p><strong>Paso 2: Grabar el flujo<\/strong><\/p>\n\n\n\n<p>\u201cCuando la grabadora est\u00e1 activa, se debe ingresar la URL de la aplicaci\u00f3n e implementar las acciones que se quieren automatizar. En este caso (ver v\u00eddeo), cre\u00e9 una nueva transferencia, agregu\u00e9 la validaci\u00f3n del saldo de la cuenta de origen antes de confirmar la transferencia, confirm\u00e9 la transferencia y agregu\u00e9 otra validaci\u00f3n del saldo de la cuenta de origen luego de haber confirmado la transferencia\u201d. \u201cDetendremos la grabaci\u00f3n, copiaremos el script de c\u00f3digo GeneXus y lo llevaremos al IDE para poder ejecutarlo en distintos navegadores\u201d.<\/p>\n\n\n\n<p><strong>Paso 3: Llevar el c\u00f3digo GeneXus al IDE<\/strong><\/p>\n\n\n\n<p>\u201cTeniendo el script de prueba de interfaz web en c\u00f3digo GeneXus listo para ejecutar en cada deploy de nuestra aplicaci\u00f3n, ahora podemos correrlo desde el IDE haciendo bot\u00f3n derecho Run Test(s). Este objeto web UI test tiene la misma potencia que un objeto procedure ya que pueden agregar variables para el manejo de datos, validaciones a la base de datos, llamadas a procedimientos y funciones y todo lo que necesiten para enriquecer su prueba de interfaz\u201d.<\/p>\n\n\n\n<p><strong>3 \u2013 Prueba de interfaz mobile<\/strong><\/p>\n\n\n\n<p>El objetivo de la prueba de interfaz mobile es la misma que la de interfaz web, simular el flujo del usuario sobre la app. La idea es poder ejecutar este mismo flujo en distintos dispositivos y validar que en todos funciona correctamente.<\/p>\n\n\n\n<p>\u201cPara generar un prueba se debe escribir el c\u00f3digo en el IDE y ejecutarla. Lo que har\u00e9 aqu\u00ed es solamente ejecutarla dado que ya tengo escrito el c\u00f3digo\u201d.<\/p>\n\n\n\n<p><strong>Step 1<\/strong><\/p>\n\n\n\n<p>\u201cEn esta prueba de interfaz mobile se ejecuta el login en la aplicaci\u00f3n y se verifica que exista el texto My Accounts y saldo de la cuenta destino de la transacci\u00f3n que se realiz\u00f3 anteriormente, que en este caso tiene que ser doscientos d\u00f3lares. Para esto se debe seleccionar la opci\u00f3n Run Test(s). Este objeto, al igual que el objeto Web UI Test y el objeto Unit Test tiene la potencia de un objeto procedure, permitiendo agregar las validaciones en la base de datos que sean necesarias.<\/p>\n\n\n\n<p><strong>Step 2<\/strong><\/p>\n\n\n\n<p>\u201cUna vez que se realiza el proceso anterior, la prueba se ejecuta en el simulador reproduciendo el flujo del usuario. Luego hace el logout y termina la ejecuci\u00f3n de la prueba. Podemos ver en en el IDE informaci\u00f3n de cada uno de los comandos que se ejecutaron. Tenemos lista la prueba de interfaz mobile para ejecutar siempre que hagamos un deploy de nuestra aplicaci\u00f3n.<\/p>\n\n\n\n<p><strong>Write to us to request information about GeneXus<\/strong><\/p>\n\n\n\n<div class=\"wp-block-contact-form-7-contact-form-selector\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f10081-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"10081\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/blog\/en\/wp-json\/wp\/v2\/posts\/12086#wpcf7-f10081-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\" data-trp-original-action=\"\/blog\/en\/wp-json\/wp\/v2\/posts\/12086#wpcf7-f10081-o1\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"10081\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f10081-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<p><label> Full name<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span> <\/label>\n<\/p>\n<p><label> Corporate email<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span> <\/label>\n<\/p>\n<p><label>Job selection<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"menu-836\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" id=\"Puesto\" aria-required=\"true\" aria-invalid=\"false\" name=\"menu-836\"><option value=\"\">&#8212;Por favor, elige una opci\u00f3n&#8212;<\/option><option value=\"Director\">Director<\/option><option value=\"Subdirector\">Deputy director<\/option><option value=\"Gerente\">Manager<\/option><option value=\"Otros\">Other<\/option><\/select><\/span> <\/label>\n<\/p>\n<p><label>Area selection<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"menu-87\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" id=\"Area\" aria-required=\"true\" aria-invalid=\"false\" name=\"menu-87\"><option value=\"\">&#8212;Por favor, elige una opci\u00f3n&#8212;<\/option><option value=\"Direcci\u00f3n General\">Directorate-General<\/option><option value=\"Sistemas\">Systems<\/option><option value=\"Innovaci\u00f3n\">Innovation<\/option><option value=\"Transformaci\u00f3n Digital\">Digital Transformation<\/option><option value=\"Desarrollo de Software\">Software development<\/option><option value=\"Marketing\">Marketing<\/option><option value=\"Finanzas\">Finance<\/option><option value=\"Recursos Humanos\">Human Resources<\/option><option value=\"Innovaci\u00f3n\">Innovation<\/option><option value=\"Operaciones\">Operations<\/option><option value=\"Log\u00edstica\">Logistics<\/option><option value=\"Otros\">Other<\/option><\/select><\/span> <\/label>\n<\/p>\n<p><label> Company<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"text-591\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"text-591\" \/><\/span><\/label>\n<\/p>\n<p><label> Phone<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"tel-496\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"tel\" name=\"tel-496\" \/><\/span><\/label>\n<\/p>\n<p><label> Comments<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"textarea-894\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" name=\"textarea-894\"><\/textarea><\/span><br \/>\n<button class=\"wpcf7-form-control wpcf7-submit qodef-button qodef-size--normal qodef-layout--outlined qodef-m\" type=\"submit\"><span class=\"qodef-m-text\">Send<\/span><\/button><\/label>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>En esta entrada, Mariana Falabrino , Customer Success de Abstracta , explica los pasos para automatizar pruebas unitarias , de interfaz web y de interfaz mobile con GXtest , el producto desarrollado conjuntamente entre Abstracta y GeneXus para dise\u00f1ar, implementar y ejecutar pruebas funcionales en aplicaciones web y m\u00f3viles. Para esto, se utiliz\u00f3 como ejemplo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":12087,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[139,108,84,165,99,170,93],"tags":[],"class_list":["post-12086","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api","category-desarrollo-de-aplicaciones","category-genexus","category-gxtest","category-low-code","category-tendencias","category-transformacion-digital"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile? - BIS SOLUCIONES BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bissoluciones.com\/blog\/en\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile? - BIS SOLUCIONES BLOG\" \/>\n<meta property=\"og:description\" content=\"En esta entrada, Mariana Falabrino , Customer Success de Abstracta , explica los pasos para automatizar pruebas unitarias , de interfaz web y de interfaz mobile con GXtest , el producto desarrollado conjuntamente entre Abstracta y GeneXus para dise\u00f1ar, implementar y ejecutar pruebas funcionales en aplicaciones web y m\u00f3viles. Para esto, se utiliz\u00f3 como ejemplo [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bissoluciones.com\/blog\/en\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/\" \/>\n<meta property=\"og:site_name\" content=\"BIS SOLUCIONES BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-08T21:38:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-08T21:41:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"566\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/person\/1b4490a1f8c658698183a0d808368ac4\"},\"headline\":\"\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile?\",\"datePublished\":\"2023-11-08T21:38:53+00:00\",\"dateModified\":\"2023-11-08T21:41:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/\"},\"wordCount\":1264,\"publisher\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png\",\"articleSection\":[\"API\",\"Desarrollo de Aplicaciones\",\"GeneXus\",\"GXtest\",\"Low Code\",\"Tendencias\",\"Transformaci\u00f3n Digital\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/\",\"url\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/\",\"name\":\"\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile? - BIS SOLUCIONES BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png\",\"datePublished\":\"2023-11-08T21:38:53+00:00\",\"dateModified\":\"2023-11-08T21:41:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#primaryimage\",\"url\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png\",\"contentUrl\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png\",\"width\":1080,\"height\":566},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/bissoluciones.com\/blog\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#website\",\"url\":\"https:\/\/bissoluciones.com\/blog\/en\/\",\"name\":\"BIS SOLUCIONES BLOG\",\"description\":\"Blog de Tecnolog\u00eda\",\"publisher\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bissoluciones.com\/blog\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#organization\",\"name\":\"BIS SOLUCIONES BLOG\",\"url\":\"https:\/\/bissoluciones.com\/blog\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/03\/cropped-b1.png\",\"contentUrl\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/03\/cropped-b1.png\",\"width\":126,\"height\":42,\"caption\":\"BIS SOLUCIONES BLOG\"},\"image\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/person\/1b4490a1f8c658698183a0d808368ac4\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/bissoluciones.com\/blog\"],\"url\":\"https:\/\/bissoluciones.com\/blog\/en\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile? - BIS SOLUCIONES BLOG","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:\/\/bissoluciones.com\/blog\/en\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/","og_locale":"en_US","og_type":"article","og_title":"\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile? - BIS SOLUCIONES BLOG","og_description":"En esta entrada, Mariana Falabrino , Customer Success de Abstracta , explica los pasos para automatizar pruebas unitarias , de interfaz web y de interfaz mobile con GXtest , el producto desarrollado conjuntamente entre Abstracta y GeneXus para dise\u00f1ar, implementar y ejecutar pruebas funcionales en aplicaciones web y m\u00f3viles. Para esto, se utiliz\u00f3 como ejemplo [&hellip;]","og_url":"https:\/\/bissoluciones.com\/blog\/en\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/","og_site_name":"BIS SOLUCIONES BLOG","article_published_time":"2023-11-08T21:38:53+00:00","article_modified_time":"2023-11-08T21:41:49+00:00","og_image":[{"width":1080,"height":566,"url":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#article","isPartOf":{"@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/"},"author":{"name":"admin","@id":"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/person\/1b4490a1f8c658698183a0d808368ac4"},"headline":"\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile?","datePublished":"2023-11-08T21:38:53+00:00","dateModified":"2023-11-08T21:41:49+00:00","mainEntityOfPage":{"@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/"},"wordCount":1264,"publisher":{"@id":"https:\/\/bissoluciones.com\/blog\/en\/#organization"},"image":{"@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#primaryimage"},"thumbnailUrl":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png","articleSection":["API","Desarrollo de Aplicaciones","GeneXus","GXtest","Low Code","Tendencias","Transformaci\u00f3n Digital"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/","url":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/","name":"\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile? - BIS SOLUCIONES BLOG","isPartOf":{"@id":"https:\/\/bissoluciones.com\/blog\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#primaryimage"},"image":{"@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#primaryimage"},"thumbnailUrl":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png","datePublished":"2023-11-08T21:38:53+00:00","dateModified":"2023-11-08T21:41:49+00:00","breadcrumb":{"@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#primaryimage","url":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png","contentUrl":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2023\/11\/interfaz-mobile.png","width":1080,"height":566},{"@type":"BreadcrumbList","@id":"https:\/\/bissoluciones.com\/blog\/como-automatizar-pruebas-unitarias-de-interfaz-web-y-de-interfaz-mobile-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/bissoluciones.com\/blog\/en\/"},{"@type":"ListItem","position":2,"name":"\u00bfC\u00f3mo automatizar pruebas unitarias, de interfaz web y de interfaz mobile?"}]},{"@type":"WebSite","@id":"https:\/\/bissoluciones.com\/blog\/en\/#website","url":"https:\/\/bissoluciones.com\/blog\/en\/","name":"BIS SOLUCIONES BLOG","description":"Blog de Tecnolog\u00eda","publisher":{"@id":"https:\/\/bissoluciones.com\/blog\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bissoluciones.com\/blog\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/bissoluciones.com\/blog\/en\/#organization","name":"BIS SOLUCIONES BLOG","url":"https:\/\/bissoluciones.com\/blog\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/logo\/image\/","url":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/03\/cropped-b1.png","contentUrl":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/03\/cropped-b1.png","width":126,"height":42,"caption":"BIS SOLUCIONES BLOG"},"image":{"@id":"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/person\/1b4490a1f8c658698183a0d808368ac4","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/bissoluciones.com\/blog"],"url":"https:\/\/bissoluciones.com\/blog\/en\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/posts\/12086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/comments?post=12086"}],"version-history":[{"count":2,"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/posts\/12086\/revisions"}],"predecessor-version":[{"id":12090,"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/posts\/12086\/revisions\/12090"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/media\/12087"}],"wp:attachment":[{"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/media?parent=12086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/categories?post=12086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/en\/wp-json\/wp\/v2\/tags?post=12086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}