Waits y sincronización: reemplazando Thread.sleep por WebDriverWait en Appium 5 Thread.sleep eliminados, WebDriverWait con ExpectedConditions, un error de driver duplicado y comparación de tiempos. 4 tests, 0 sleeps.
Interacciones básicas: tap, input, scroll y assertions en Appium Login completo, scroll con UiScrollable, clear con reingreso y campos vacíos. Cuatro tests, cinco errores reales resueltos. Thread.sleep incluido.
Appium Inspector: encontrar elementos en la app con dispositivo físico Motorola G51 por USB en vez de emulador. Appium Inspector para explorar elementos, locators de Products y Login. Dos errores reales resueltos.
Primer test: abrir la app en el emulador con Appium Proyecto Maven, conflicto Selenium/java-client con ContextAware resuelto, timeouts para 8GB RAM. Primer test verde abriendo la app en el emulador.
Setup completo: Node.js, Android Studio, Appium Server y emulador Node.js, Android Studio, SDK, variables de entorno, emulador Pixel 8, Appium 3.3.1, UiAutomator2. Setup paso a paso con errores reales en 8GB RAM.
Appium: decisiones técnicas para mobile automation Appium vs Maestro vs Espresso. Por qué Java, por qué Android primero. Análisis de mercado LATAM y decisiones técnicas para automation mobile.
Selenium vs Playwright: 28 posts, misma app, mi veredicto 12 posts de Selenium, 16 de Playwright. Misma app, mismo criterio. Qué encontré, qué prefiero, y el bug que solo uno detectó. Comparación final.
Playwright: CI/CD con GitHub Actions — pipeline, errores reales y reporte público GitHub Actions + GitHub Pages para Playwright. Errores de storageState, visual tests en Linux, reporte HTML público. Contraste con Selenium CI/CD.
Playwright: visual testing — toHaveScreenshot(), golden files y el diff que lo muestra todo Golden files, diff de 11,964 píxeles, tolerancia con maxDiffPixels y strict mode con SlickGrid. Lo que en Selenium necesita Ashot, acá es nativo.