Rethinking Appium’s Code Base
summary
Appium 1.5 rewrites the monolithic Node.js server into a modular set of NPM packages, replacing callback-heavy code with ES2015 async/await, moving drivers (iOS, Android, Windows, XCUITest) into distinct modules, and adding per-module CI, unit/integration test suites and module-prefixed logging so logs identify the exact component. The rewrite boosts contributions and maintainability but creates coordination overhead — the team split into 50 small NPM modules and found multi-repo changes and git history fragmentation painful; roadmap moves to a base driver plus per-driver repos.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:44Agenda
- 2:02What is Appium
- 3:12Problems with Appium
- 4:57Developer Documentation
- 6:15Not Modular
- 7:58JavaScript
- 10:04Test Organization
- 10:55New Architecture
- 11:35Package Overview
- 13:34New Shiny Jaso
- 15:30Testing Pyramid
- 17:23Mistakes
- 21:10Lessons
- 23:40Contribution
- 24:58Questions
related talks
48mThe Node Module Diaries: Large App Architecture from the Trenches
58mAppium 2.0 - State of the Union
52mAppium 2.0 - State of the Union
57mAppium: Automation for Apps
53mQ&A with the Appium Committers [Panel]
44mQ&A with the Appium Committers [Panel]
42mAppium: The Next Generation
39mAppium: An Open Source Software Success Story
