DEV Community

charlieww
charlieww

Posted on

I Replaced 500 Lines of E2E Tests with One AI Prompt

The Breaking Point

I had 500+ lines of E2E test code across three platforms. Every UI change broke dozens of selectors. Every framework migration meant rewriting test suites.

Then I tried something different: let AI control the app directly.

What is flutter-skill?

An MCP server with 253 tools that lets Claude, Cursor, or any MCP client:

  • See your app through screenshots (31ms capture)
  • Interact like a human — tap, scroll, type (1ms latency)
  • Test across 10 platforms with natural language
  • Auto-adapt when UI changes

Before vs After

Traditional (Playwright — 50+ lines)

await page.goto("https://app.example.com");
await page.waitForSelector("#register-button");
await page.click("#register-button");
await page.fill("[name=email]", "test@example.com");
// ... 50 more lines
Enter fullscreen mode Exit fullscreen mode

AI-Driven (1 line)

flutter-skill test "Open registration, fill email and password, accept terms, submit, verify welcome page"
Enter fullscreen mode Exit fullscreen mode

99.8% less code. Zero maintenance.

How it Compares

Tool MCP Tools Platforms
flutter-skill 253 10 (Flutter, RN, iOS, Android, Web, Electron, Tauri, KMP, .NET MAUI, CDP)
Playwright MCP ~33 1 (Web only)
Appium - 2 (iOS + Android)

Performance

  • Tap latency: 1ms (near hardware limit)
  • Screenshot: 31ms
  • UI analysis: 2ms
  • Compare: Selenium 100-500ms, Appium 200-1000ms

181 test scenarios across 8 platforms: 99% pass rate.

Get Started

npm i -g flutter-skill
flutter-skill init && flutter-skill demo
Enter fullscreen mode Exit fullscreen mode

GitHub: github.com/ai-dashboad/flutter-skill

Open source, MIT licensed. Happy to answer questions!

Top comments (0)