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.
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. Platform fees start at $270 a month on annual billing and are set by how many test executions you run each month.
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. 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.
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.