Tribalyte Technologies Tribalyte Technologies
  • Inicio
  • Misión y visión
  • Nuestros expertos
  • Nuestras soluciones
  • Casos de éxito
  • Blog
  • Contáctanos
  • Únete al equipo
Tribalyte Technologies Tribalyte Technologies
  • Inicio
  • Misión y visión
  • Nuestros expertos
  • Nuestras soluciones
  • Casos de éxito
  • Blog
  • Contáctanos
  • Únete al equipo
Mar 02
Appium - Tribalyte Technologies

Ejemplo práctico con Appium: App móvil híbrida

  • marzo 2, 2021
  • José Carlos Fatjó
  • No Comments
  • Consejos tecnológicos, Desarrollo de aplicaciones, Desarrollo de software

En una entrada anterior ya hicimos una breve introducción de Appium en la que vimos su funcionamiento y características. Esta entrada continúa la anterior con un ejemplo práctico.

Mostraremos paso a paso la configuración de un entorno de pruebas y la implementación de un test para una aplicación de ejemplo en un sistema operativo Linux. Para ello, supondremos que en este punto se dispone de los siguientes elementos:

  • Java VM
  • Android SDK
  • Node.js
  • Npm
  • Una aplicación web o híbrida (.apk)
  • Un dispositivo Android

Index

  • 1 Instalación de Appium
  • 2 Configuración del entorno de desarrollo
  • 3 Implementación de los casos de prueba
  • 4 Crea tu App a medida

Instalación de Appium

Antes de comenzar, debemos asegurarnos de haber instalado node sin privilegios de usuario, es decir, sin sudo. La forma más sencilla es descargar e instalar la última versión de node desde su propia web nodejs.org.

Otro dato a tener en cuenta es que debemos tener las variables de entorno de JAVA_HOME y ANDROID_HOME correctamente configuradas y añadidas a PATH:

export ANDROID_HOME="/<your-path-to-Android>/Android/Sdk"
export JAVA_HOME="/<your-path-to-java>/java-8-oracle"
export PATH="$PATH:$ANDROID_HOME::$ANDROID_HOME/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools"

 

A continuación, instalar Appium según lo indicado en su página:

npm install -g appium
npm install -g appium-doctor
npm install wd

Para asegurarnos de que tenemos todos las configuraciones previas necesarias, ejecutamos appium-doctor:
image3

Por último, ejecutamos appium:

image5

Configuración del entorno de desarrollo

Antes de empezar a preparar el entorno de desarrollo debemos descargar Selenium Standalone Server desde su página de descargas y Appium Java Client desde Maven.

El entorno de desarrollo que hemos utilizado es eclipse, el cual puedes descargar desde su web de descargas.

Una vez descargado e instalado, creamos un nuevo proyecto Java:

image7

Accedemos a la configuración del Build Path haciendo Click derecho sobre el proyecto > Build Path > Configure Build Path > Pestaña Libraries:

image1

Añadimos los ficheros .jar de Selenium Standalone Server y Appium Java Client haciendo Click en Add External JARs > Seleccionar los ficheros > Aceptar. Necesitaremos también la biblioteca de JUnit, por lo que debemos hacer Click en Add Library > Seleccionar JUnit > Next > Finish.

image9

Para guardar todos los cambios hacemos Click en Apply and Close. El resultado en el proyecto debe verse como a continuación:

image4

Implementación de los casos de prueba

Una vez configurado el entorno, nos disponemos a implementar los casos de prueba. Creamos una nueva clase dentro de src:

image8

Lo primero que debemos hacer es crear el método setUp y el método tearDown, que se ejecutarán antes de después de las pruebas respectivamente:

package appiumTest;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;

import org.junit.After;
import org.junit.Before;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;

public class TestCases {

    AppiumDriver driver;
    
    @Before
    public void setUp() throws MalformedURLException {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "");
        capabilities.setCapability(CapabilityType.PLATFORM_NAME, "Android");
        capabilities.setCapability("platformVersion", "7");
        
        File file = new File("apk folder", "apk name");
        capabilities.setCapability("app", file.getAbsolutePath());
        
        driver = new AppiumDriver(new URL("endpoint address"), capabilities);
    }
    
    @After
    public void tearDown() {
        driver.quit();
    }
}

Como es de esperar, añadimos también el método de prueba, donde incluiremos las operaciones que queremos que se ejecuten:


@Test
public void TestMethod() {
	
}

 

En este momento debemos hacer uso de la herramienta monitor de Android SDK para acceder a los distintos elementos presentes en cada pantalla de la aplicación. Como hemos comentado anteriormente, debemos tener bien configuradas las variables de entorno, en cuyo caso, simplemente escribimos monitor en el terminal:

image10

Si disponemos de un terminal Android y este se encuentra conectado, la herramienta monitor lo va a detectar y nos lo mostrará:

image2

NOTA: La herramienta monitor es la que se conocía como uiautomatorviewer, la cual comentamos en el primer post sobre Appium. Más información en el siguiente enlace.

Ejecutamos la aplicación y en la herramienta monitor nos aparecerá debajo del dispositivo. Para acceder a los elementos de la vista que se muestra actualmente en la aplicación debemos hacer Click en Screen Capture > Done > Click en Dump View Hierarchy for UI Automator:

image6

Una vez seleccionamos un elemento, podemos ver sus propiedades, las cuales vamos a utilizar en el método TestMethod que creamos anteriormente:

@Test
public void TestMethod() {
	MobileElement homeTab = (MobileElement) driver.findElement(By.id("tab-t0-0"));
	homeTab.click();
	
	MobileElement aboutTab = (MobileElement) driver.findElement(By.id("tab-t0-1"));
	aboutTab.click();
	
	MobileElement contactTab = (MobileElement) driver.findElement(By.id("tab-t0-2"));
	contactTab.click();
}

Una vez terminado de crear el método, lanzamos el programa como JUnitTest y vemos cómo se ejecuta en el dispositivo. Con esto ya podemos seguir creando casos de prueba y probando nuestras propias app o como parte del departamento de control de calidad (QA) de nuestra empresa.
Espero que haya servido de ayuda y que dé un pequeño empujón a quienes no tenían claro los primeros pasos en la creación de pruebas automatizadas con Appium. 

Crea tu App a medida

En Tribalyte Technologies somo expertos creadores de apps a medida. Consulta nuestros casos de éxito y contáctanos ahora mismo sin compromiso para cualquier necesidad.

CONSULTA NUESTROS CASOS DE ÉXITO

Artículos Relacionados:

  • SOLID_DPRINCIPIOS S.O.L.I.D. - DEPENDENCY INVERSION
  • Arduino vs Raspberry Pi | ¿Cómo elegir? ¿Para qué sirven? 10 Tips | Tribalyte TechnologiesArduino vs Raspberry Pi | ¿Cómo elegir? ¿Para qué sirven? 10 Tips
  • Creando nuestro primer proyecto de ReactJSCreando nuestro primer proyecto de ReactJS
  • ReactJS | Tutorial y 12 mejores prácticas [webinar gratis] | Tribalyte TechnologiesReactJS | Tutorial y 12 mejores prácticas [webinar gratis]
  • Blockchain vs DLT: Todo lo que tienes que saber antes de elegir¿Cuál es la diferencia entre DLT y Blockchain? [Infografía]
  • Facebook
  • Twitter
  • LinkedIn
  • E-Mail

About The Author

Soy Ingeniero Informático de la UPM, experto en el desarrollo de software a medida y de aplicaciones web, móviles y nativas. Tengo conocimientos full-stack, pero lo que más me apasiona es la parte front-end.

Related Posts

  • Introducción a pruebas automatizadas con Appiumabril 7, 2021

Leave a reply Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

ELIGE UNA CATEGORÍA

  • Blockchain
  • Consejos tecnológicos
  • Desarrollo de aplicaciones
  • Desarrollo de software
  • Sistema embebido
  • Tecnologías
  • Uncategorized

Una compañía dedicada al desarrollo de apps, software y soluciones embebidas para empresas.

SOCIOS

Contacto

Glorieta de Quevedo 8 6º2
28015 Madrid (ESPAÑA)
Phone: +34 910 177 514 E-Mail: contact@tribalyte.com Web: www.tribalyte.com
Sello PYME INNOVADORA 21/01/2025
PYME INNOVADORA
Válido hasta el 21 de enero de 2025
escudo de MEIC 21/01/2025

AYUDA

  • Política de privacidad
  • Política de calidad
  • Política de seguridad
  • Términos de uso

CERTIFICACIONES

⠀⠀⠀⠀⠀⠀⠀⠀⠀

SUBVENCIONES

Tribalyte Technologies S.L. ha    conseguido la ayuda C007/20-ED de Red.es para el impulso y la promoción de actividades de I+i y para el fomento de la inversión empresarial para desarrollar el proyecto iPatia. Así mismo, valoramos muy positivamente la contribución del FEDER, principal fondo de la política de cohesión europea, por lo que supone de impulso a nuestro trabajo y en consecuencia al crecimiento económico y la creación de empleo de esta región y de España en su conjunto.
Esta página web utiliza cookies para mejorar su experiencia de usuario y para recabar estadísticas anónimas de uso. Aceptar Más información