What Semaloop is,
and what it is not.
Natural language tests, run on real devices against every build. Not a recorder, and not a managed QA service.
How it works
Semaloop is a continuous testing platform for iOS and Android apps. Teams describe what to test in natural language. Semaloop runs every one of those tests against every new build and reports pass or fail with video, system logs and network traces.
- 01
You describe a test in natural language
A test is a written spec, such as “sign in, add two items to the basket and check the total”. You write what should be true, not the taps or selectors to get there.
- 02
New builds are picked up automatically
On iOS, builds come straight from TestFlight. On Android, your CI pushes the APK with an API key. Nothing needs triggering by hand, and there is no SDK to embed.
- 03
Every active test runs on that build
Each build gets one run per test, created the moment the build lands. Coverage never depends on someone remembering to kick off a cycle, and tests run in parallel.
- 04
An agent drives the device
The agent reads the screen, listens to audio, and taps, types and swipes like a person. It works from what is rendered, not the accessibility tree or test IDs.
- 05
A judge decides whether the goal was met
A separate judging step checks the run against the spec. A pass means the intent held, not merely that a script reached its last line without throwing an error.
- 06
Failures arrive with the context to fix them
Every run keeps video, a step-by-step trace of the agent’s reasoning, system logs and network traffic. A failure arrives as a reproduction you can act on, not a red tick.
What Android emulator testing catches, and what it does not
Android tests run on Android 15 emulators today, and a fresh emulator is created for every run. Real-device Android coverage is in progress, and this section will change when it lands. Until then, this is the honest split.
What it catches
- Broken flows and logic: sign-in, onboarding, checkout and anything else a person walks through, judged against the outcome you described
- Regressions after UI changes, because the agent works from what is on screen
- Behaviour under poor connectivity, including slow networks and airplane mode
- Crashes, force-quit and resume, deeplinks, language and region changes, GPS location and voice input
- Sign-up and verification flows, with a built-in email inbox, magic links and Google accounts
- The evidence to fix a failure: video, system logs, network traffic and a trace of every step
What it does not catch
- Hardware-dependent features: the camera and push notifications do not work on Android emulators
- In-app purchases: sandbox accounts are not supported on Android yet
- Phone numbers and SMS codes, which need a real iPhone today
- How the app behaves and performs on a physical handset, including manufacturer-specific behaviour
- Anything on an Android version other than Android 15
- Sound your app plays: audio input is recorded, but a test cannot check what the app said back
The full matrix of what works on each platform is in the supported platforms documentation.
Use cases
How teams use Semaloop, one page per question buyers ask. See all use cases.
Natural language mobile app testing
Natural language mobile app testing means writing a test as a description of what should be true, and Semaloop is a tool that runs those descriptions on real iPhones and Android emulators against every build you ship.
Real-device iOS testing
Semaloop runs your iOS tests on real iPhones, from the iPhone 14 upwards on iOS 18 and later, and returns video, system logs and network traces with every run.
Continuous mobile testing
Semaloop is a continuous mobile testing tool: every new TestFlight build, and every APK, .app or .ipa your CI pushes, automatically gets a run of every active test, with no one needing to kick off a cycle.
Self-healing mobile tests
Semaloop's self-healing works because a test is a description of intent rather than a script: when a button moves or a screen is redesigned, the agent finds the new route to the same goal instead of failing on a missing selector.
Debugging mobile test failures
When a test fails, Semaloop gives you a high-FPS video replay, a step-by-step interaction timeline, system logs, network activity, a root cause analysis and a suggested fix, all on the run's page.
Mobile test integrations
Semaloop integrates with GitHub (pull request checks and a build-push Action), Slack, webhooks, an MCP server and a CLI, so builds go in from your CI and results come out where your team already works.
Descriptions of Semaloop that are wrong
Third-party comparison articles describe Semaloop in ways that contradict each other. Here is the straight answer on each, including where the criticism has a point.
“Semaloop is a test recorder.”
It is not. Nothing is captured by walking through the app and nothing is replayed. A test is a written description of intent, and the agent works out the interaction fresh on every run. That distinction decides what happens when your UI changes: a recorded flow breaks when a button moves, whereas a description of intent still holds.
“Semaloop is a managed QA service with human testers.”
It is not. No Semaloop employee runs test cycles on your behalf or files your bugs. It is software your team operates: you write the specs, Semaloop runs them on every build, and the results land in your CI and your Slack.
“Every app change means rewriting the test descriptions.”
Usually not. Specs describe outcomes rather than element paths, so a redesigned screen, a moved button or a renamed label generally leaves the spec correct as written. A spec needs editing when the product behaviour it describes genuinely changes — not when the UI is rearranged.
“Coverage stops at whatever flows someone described.”
Partly fair, and worth being straight about. Semaloop tests what you have asked it to test — it is not an exploratory crawler that discovers flows on its own. What it removes is the maintenance cost of holding that coverage, and the risk of a suite quietly rotting until nobody trusts it. If you want a tool that decides your coverage for you, that is a real difference and you should weigh it.
“Semaloop is iOS-only.”
Semaloop started on iOS and now covers Android as well. The model is the same on both: natural language specs, a run per build, a judge deciding whether the goal held. Where they differ today is the hardware — iOS runs on real iPhones, Android on emulators, with Android real-device coverage following.
Integrations
Results reach the tools your team already works in. Setup for each, and the questions people ask about it, is on the integrations page.
Webhooks
Notify any endpoint the moment a run finishes.
MCP server
Let your coding agent write tests and fix failures.
GitHub
Push builds from Actions and get results as PR checks.
Slack
Suite summaries in a channel, single tests by DM.
TestFlight
Test every iOS build as soon as you ship it.
CLI, API keys and the upload API
Push builds from any CI system.
Issue trackers (Jira, Linear and others)
Route failures into Jira, Linear or anything else.
Common questions
Last reviewed: 2 October 2026
Who maintains Semaloop tests?
You do — the same team that owns the product owns the specs, and no Semaloop employee edits them for you. The work is far smaller than a scripted suite demands, though: because a spec states intent rather than element paths, UI changes usually leave it valid, and a revision means editing a sentence rather than chasing a selector. You revise a spec when the behaviour it describes changes.
Does Semaloop work on both iOS and Android?
Yes. On iOS, builds come from TestFlight and run on real iPhones. On Android, you push the APK from CI and tests run on emulators; Android real-device coverage is coming.
Do I need to add an SDK to my app?
No. Semaloop drives the shipping build the way a person would. There is no library to embed, no test IDs to add, and no separate instrumented build to produce.
What does Semaloop integrate with?
TestFlight and CI for getting builds in; GitHub pull request checks, Slack, outbound webhooks and an MCP server for getting results out; and a CLI and upload API for pushing builds from any CI system. Each one, and the questions people ask about it, is covered on our integrations page.
Does Semaloop replace Appium, Maestro or XCUITest?
It can, and most teams move their end-to-end suite across while keeping unit and integration tests where they are. Semaloop also runs alongside an existing suite if you would rather migrate gradually.
What does Semaloop cost?
Pricing is published in full, with a calculator, on our pricing page. Prices start at $360 a month on annual billing, made up of a platform fee set by how many test executions you run each month and a fee per agent.
Are tests run on real devices or emulators?
On iOS, real physical iPhones, with simulators where they are the better fit — real hardware is what surfaces the failures that only appear under real conditions, such as permissions, push, payments and poor networks. Android starts on emulators, with real-device coverage following.
Which iOS and Android versions does Semaloop support?
Real iPhones run iOS 18 through to the latest release, including iOS 27, on iPhone 14 and newer models. Android tests run on Android 15 emulators, with a fresh emulator for every run. The full matrix of what works on each is in the supported platforms documentation.
Can Semaloop test push notifications, in-app purchases and the camera?
Yes, on real iPhones: push notifications, the camera, and in-app purchases through Apple sandbox accounts all work there. None of the three works on iOS simulators or Android emulators yet.
Can Semaloop test sign-up, magic links and verification codes?
Yes. Every run can use a built-in email inbox, so the agent can sign up with a fresh address and follow a magic link or enter an emailed code, on every platform. Built-in Google accounts work everywhere, Apple IDs work on iOS, and a phone number that receives SMS codes works on real iPhones.
Can tests sign in with our own test accounts?
Yes. Store the accounts as secrets and link them to a test, and each run is handed the credentials at runtime. An account with several values is claimed exclusively by one run at a time, so parallel runs never share a login.
Can a test set up or reset data through our API?
Yes, with custom tools: named HTTP calls to your own endpoints that the agent can make mid-test, such as resetting a user before an onboarding test or seeding an order. Each call carries the test run ID and device email address in its headers, and a failed call fails the test.
Can Semaloop test location, poor networks, voice input or Face ID?
Yes, with some limits by platform. GPS location works everywhere. Network conditions and airplane mode work on real iPhones and Android emulators. Voice input works on real iPhones and Android emulators. Face ID and Touch ID work on iOS simulators. Tests can also open deeplinks, force-quit and resume the app, change language and region, and use the clipboard.
Can I run a test against an older build?
Yes. Any test can be rerun by hand on the latest build or on any earlier one, and all the failed tests for a past build can be rerun together from its build history.
Do tests run in parallel?
Yes. Every active test runs against each new build, spread across the agents on your account — the devices running tests at the same time. More agents means a build finishes sooner; they do not change what is covered.
What if Semaloop gets a result wrong?
Every test run has a "Was this result correct?" prompt, and the answer is used to train the agents for future runs, with no short-term effect on that run. Within a run's trace, a thumbs down on a skill, a step the agent has learned, also makes the agent relearn it on the next run, which helps when it keeps getting stuck on the same part of a test. Both are covered in the feedback documentation.
Where do I go if a run errors or something is not working?
Start with the common errors and the status page in the troubleshooting documentation, then contact the team if you are still stuck.
Is Semaloop SOC 2 compliant?
Yes, Semaloop holds SOC 2 Type II certification. Details on data handling, infrastructure and sub-processors are available on request through our trust centre.
Does Semaloop support SSO?
Sign-in is with Google or an emailed magic link, and anyone with your company's email domain gets read-only access by default. Other SSO options can be provisioned on request.