SFT Device Farmer: Cómo Instalar tu Propia Granja de Dispositivos Android con STF en Linux
Si eres un desarrollador, tester o profesional de tecnología que trabaja constantemente con múltiples dispositivos Android, seguramente conoces los desafíos que implica gestionar y coordinar varios terminales simultáneamente. STF Device Farmer (Smartphone Test Farm) es una solución innovadora que permite crear una granja centralizada de dispositivos Android, facilitando su administración remota y el testing distribuido. En este artículo, te guiaremos a través de todo lo que necesitas saber sobre esta poderosa herramienta y cómo instalarla en tu propio servidor Linux.
¿Qué es SFT Device Farmer?
STF Device Farmer es una plataforma open-source desarrollada originalmente por OpenSTF que permite gestionar, controlar y monitorear múltiples dispositivos Android desde una interfaz web centralizada. Esta herramienta es especialmente valiosa para equipos de desarrollo y QA que necesitan realizar pruebas simultáneas en diversos dispositivos con diferentes configuraciones, versiones de Android y características hardware.
Las capacidades principales de STF Device Farmer incluyen la visualización remota del pantalla de los dispositivos, ejecución de comandos, instalación de aplicaciones, captura de logs, gestión de conexiones USB, y mucho más. Todo esto desde una interfaz intuitiva accesible a través del navegador web, sin necesidad de cables USB directos o software adicional en cada máquina cliente.
Beneficios de Implementar una Granja de Dispositivos
Implementar tu propia granja de dispositivos Android con STF te proporciona numerosas ventajas operacionales. En primer lugar, centraliza la gestión de recursos, permitiendo que múltiples miembros del equipo trabajen simultáneamente con diferentes dispositivos. Además, automatiza procesos de testing, facilita la documentación de bugs mediante capturas y grabaciones de pantalla, y reduce significativamente el tiempo de ciclo de desarrollo.
Desde una perspectiva económica, una granja de dispositivos permite optimizar el uso de hardware existente y reduce la necesidad de que cada desarrollador tenga su propio conjunto de terminales. Esto resulta especialmente importante en organizaciones grandes donde pueden trabajar decenas de profesionales en paralelo.
Requisitos Previos para la Instalación
Antes de comenzar con la instalación de STF Device Farmer, asegúrate de cumplir con los siguientes requisitos técnicos:
- Un servidor o máquina virtual con Ubuntu Linux (versiones 18.04 LTS o superior recomendadas)
- Al menos 4GB de RAM, aunque se recomiendan 8GB o más si planeas conectar múltiples dispositivos
- Espacio en disco suficiente (mínimo 20GB, preferiblemente más según la cantidad de dispositivos)
- Node.js y npm instalados en el sistema
- Docker (opcional pero recomendado para facilitar la instalación)
- Dispositivos Android con depuración USB habilitada
- Conexión a red estable entre el servidor y los dispositivos
Guía Paso a Paso: Instalación en Ubuntu
Paso 1: Actualizar el Sistema
Lo primero que debes hacer es asegurar que tu sistema Ubuntu esté completamente actualizado. Abre una terminal y ejecuta los siguientes comandos:
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget git build-essential
Paso 2: Instalar Node.js y npm
STF Device Farmer requiere Node.js para funcionar. Instala Node.js desde el repositorio NodeSource, que proporciona versiones más actualizadas que los repositorios estándar de Ubuntu:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
Verifica la instalación comprobando las versiones:
node --version
npm --version
Paso 3: Instalar Android Platform Tools
Para que STF pueda comunicarse con los dispositivos Android, necesitas instalar las Android Platform Tools, que incluyen adb (Android Debug Bridge):
sudo apt install -y android-tools-adb android-tools-fastboot
Verifica que adb se instaló correctamente:
adb version
Paso 4: Instalar Dependencias Adicionales
STF Device Farmer requiere varias dependencias del sistema. Instálalas con el siguiente comando:
sudo apt install -y graphicsmagick imagemagick openjdk-11-jdk libzmq3-dev libprotobuf-dev protobuf-compiler
Paso 5: Instalar STF Device Farmer
Ahora instalaremos STF globalmente usando npm:
sudo npm install -g stf
Este proceso puede tardar algunos minutos dependiendo de tu conexión a internet y del rendimiento de tu máquina.
Paso 6: Configuración Inicial
Una vez instalado, necesitas configurar STF. Primero, crea un directorio de trabajo:
mkdir -p ~/stf-workspace
cd ~/stf-workspace
Paso 7: Iniciar STF Device Farmer
Para iniciar STF con configuración básica, ejecuta:
stf local
Este comando inicia STF en modo local, lo que significa que la interfaz web estará disponible en tu máquina. Para acceder desde la red, puedes usar:
stf start --public [tu_ip_servidor]
Conectando Dispositivos Android a tu Granja
Una vez que STF está ejecutándose, el siguiente paso es conectar tus dispositivos Android. Asegúrate de que cada dispositivo tenga la depuración USB habilitada. Puedes hacer esto yendo a Configuración > Opciones de Desarrollador > Depuración USB en cada terminal Android.
Conecta los dispositivos a la máquina servidor mediante USB o a través de la red. Usa adb para verificar que los dispositivos se detectan correctamente:
adb devices
Los dispositivos conectados deberían aparecer en la lista. Una vez que adb los reconoce, STF también los detectará automáticamente y los incluirá en la interfaz web.
Accediendo a la Interfaz Web de STF
Abre tu navegador web y accede a la interfaz de STF. Si ejecutaste STF localmente, la URL será típicamente ¿Quieres más contenido como este?http://localhost:7100. Si lo ejecutaste con IP pública, será