My fav part was that it converts existing natural-language or BDD test cases into executable mobile tests. Also it adapts to harmless UI changes, pop-ups, timing issues, and altered flows. I like that it preserves test intent and asks for human approval when adaptation could change meaning.
Thankfully it “fails honestly” instead of producing misleading passes when it cannot proceed. Strong mobile-first focus, including real-device execution and support for Android, iOS, and Flutter.
Visla
QApilot
@mogabr thank you. Android first because the tooling is more predictable to build on, so we could get the agent loop right before adding a platform. iOS is coming soon.
Half of my team is on iphone too btw :) and they'd like their mobile apps to be bug-free too.
QApilot
Hey PH! Nihad here, one of the makers behind QApilot MCP.
We built QApilot because we wanted mobile testing to fit into the same workflow as AI-assisted development. Instead of switching between your editor, test tools, and a device, you can describe what you want to verify in plain English and let your agent run it on a real Android device or emulator.
There’s a lot we want to improve, but getting QApilot MCP out there and into developers’ hands is a big step for us. If you work with Android testing, I’d genuinely love to hear what you think, especially what still feels painful in your current workflow.
Thanks for checking us out and supporting the launch
QApilot
@dhirajwohra - thank you Dhiraj
HarnessRouter
@charan_tej_kammara Congratulations. And happy product launch.
QApilot
@huisong_li thank you, Huisong. Appreciate it.
Treblle
Congratulations on the launch guys
QApilot
@savan_kharod1 thank you :)
The caching is the bit I'd worry about. If it remembers which elements it poked last run it stops looking, and a screen that quietly moved a button still passes because the cached path resolves fine. That's the failure I'd rather have loud and slow than fast and confident, and it's the same shape as every other agent problem, plausible output that nobody complains about. The Gherkin file falling out of each pass is the real feature, because it's the one artifact a human can read and disagree with.
QApilot
@asadmalik901 - Fair concern. The cache is a hint rather than a bypass, resolution still runs and the assertion still has to pass for the test, so a moved button only slips through if the cached path also satisfies the check.
Agreed on the Gherkin. It's the only artifact a human can argue with, which is why we write it on pass only.
ResumeUp.AI
Really interesting approach. One thing I’m curious about: once QApilot learns the app’s UI and generates reusable tests, how well does it handle major UI changes between app versions?
Does it automatically adapt existing test cases, or would those need to be redefined?
QApilot
@rohithreddy - thank you. Small changes it handles. For instance, a moved or renamed element gets re-resolved at run time, since the saved test describes intent rather than a fixed locator.
Major redesigns should fail, and we'd rather they did than have it quietly match something else. What's missing is telling you it drifted, which a few people have asked for today.