Building a Maestro Plugin for IntelliJ: From Mobile Test Automation to IDE Excellence
Article Summary
Trendyol's mobile team turned Maestro test automation from a terminal-only workflow into a full-featured IDE experience. Writing YAML tests without syntax highlighting, validation, or auto-complete was slowing everyone down.
The team built an open-source IntelliJ plugin that brings first-class IDE support to Maestro's YAML-based mobile UI tests. The plugin leverages IntelliJ's existing YAML infrastructure while adding Maestro-specific intelligence on top.
Key Takeaways
- Context-aware auto-completion suggests valid commands based on current file position
- Real-time validation catches conflicts like combining incompatible parameters before runtime
- Jump-to-definition works across YAML flows and JavaScript helper files seamlessly
- Custom process listener parses Maestro console output into IDE test runner format
- Two-layer file detection uses path patterns and content scanning with caching
The plugin transforms Maestro testing from a context-switching workflow into a native IDE experience with intelligent completions, inline validation, and one-click test execution.
About This Article
Trendyol's developers noticed the file detection system was slowing down their IDE when it tried to analyze large codebases all at once. Projects with thousands of files became noticeably sluggish during normal development work.
They switched to lazy loading so files only get analyzed when developers open or edit them. Heavy analysis work moved to background threads, and they added smart caching that refreshes whenever files change.
The detection system now works well with large codebases by cutting down file I/O and reusing cached results. The plugin runs smoothly on enterprise-sized projects without causing IDE lag.