Este proyecto utiliza Appium y WebdriverIO para realizar pruebas automatizadas en dispositivos móviles Android con el navegador Chrome.
Realice este proyecto para explorar Appium y WebDriverIO con TypeScript. Instale todo siguiendo la documentación oficial, implemente el setup basico de wdio y todo lo necesario para levantar las pruebas de ejemplo. Resolví errores de compatibilidad de drivers de Chrome y cambie el selector para que pasara el test de ejemplo que estaba fallando.
Antes de comenzar, asegúrate de tener instalados los siguientes requerimientos:
-
Node.js (versión 16 o superior) y npm.
- Descárgalo desde Node.js.
-
Java Development Kit (JDK).
- Descárgalo desde Oracle o usa OpenJDK.
- Asegúrate de configurar la variable de entorno
JAVA_HOME
.
-
Android SDK.
- Descárgalo desde Android Studio.
- Configura las variables de entorno
ANDROID_HOME
y agregaplatform-tools
alPATH
.
-
Appium (versión 2.x).
- Instalado como dependencia del proyecto o globalmente.
- Si lo instalas globalmente deberás incluir esta config a tu wdio.conf.ts:
services: [ ['appium', { command: 'appium', // Usa el comando global si Appium está instalado globalmente }], ],
-
Los drivers de appium contienen appium doctor integrado por lo que al instalar por ejemplo, appium-uiautomator2-driver, puedes ejecutar doctor con el siguiente comando:
appium driver doctor uiautomator2
Sigue estos pasos para configurar el proyecto:
-
Clona este repositorio:
git clone https://github.com/aldimhernandez/appium-mobile-testing.git cd appium-mobile-testing
-
Instala las dependencias del proyecto
npm i
-
El archivo de configuración principal es
wdio.conf.ts
. Asegúrate de que las capabilities estén configuradas correctamente para tu dispositivo/emulador. Por ejemplo:capabilities: [{ platformName: 'Android', browserName: 'Chrome', browserVersion: '128.0.6613', 'appium:deviceName': 'Android GoogleAPI Emulator', 'appium:platformVersion': '16.0', 'appium:automationName': 'UiAutomator2', 'appium:chromedriverExecutableDir': './chromedriver-mobile', }],
-
Levanta un emulador de Android desde Android Studio:
- Abre Android Studio y ve a la sección Device Manager.
- Crea un emulador si no tienes uno configurado.
- Asegúrate de que el emulador esté ejecutándose antes de iniciar las pruebas.
- También asegúrate de que los detalles de la versión emulada coincidan con las capabilities configuradas.
-
Inicia el servidor Appium:
npx appium
-
Ejecuta las pruebas con WebdriverIO:
npx wdio run wdio.conf.ts
ó con el script:
npm run test
Si al ejecutar los test encuentras errores con las versiones de chrome, asegúrate de que este habilitada la descarga automática de versiones de chrome:
También puedes configurar Appium server para habilitar la descarga automática de Chromedriver (opcional):
appium --allow-insecure chromedriver_autodownload