Skip to main content
Peeps tests three surfaces: your web app, your native iOS and Android apps, and the API behind them. Discovery, test writing, failure analysis, and auto-heal work the same way on each, and results for every surface land in one report.

Web

Web tests drive your app in a real browser. Peeps turns each test’s plain-English steps into a Playwright script, runs it in your CI or on Peeps runners, and heals the script when your UI changes. To keep your Playwright suite in your own repository, see tests in your repository.

Mobile

Mobile tests run your native app on iOS simulators and Android emulators. They are written from the same user stories as your web tests.
  • Every pull request is tested on its own build. A mobile suite installs the app build your CI just produced, so a pull request is tested on the build it ships.
  • Discovery walks your app. The discovery agent walks your app builds on simulators and emulators to map screens and journeys.
  • Auto-heal re-walks the flow. When a screen changes, Peeps re-walks the flow on the simulator and the emulator and proposes the updated test for review.
Mobile suites run in your CI by default, and can also run on Peeps runners. Testing on real devices isn’t available yet.

API

API tests send requests with no browser. Peeps maps your endpoints from your routes and your OpenAPI or GraphQL schema, and checks both the contract and the behavior.
  • Contract checks. When your API contract changes in a way that breaks a test, Peeps flags the break on the pull request instead of quietly updating the tests.
  • Integration checks. A test can chain requests, such as creating an order, cancelling it, then fetching it to check its status.

One story across surfaces

A user story that starts in your mobile app and ends in your API is written once and tested end to end. Peeps runs each step on the surface it belongs to. For example, a reorder that starts from a push notification is checked in the iOS and Android apps and in the API behind them, in the same test, with the same test data. A test that depends on another starts from the state its parent left: a signed-in browser, an app session on a simulator or emulator, or an API token and the records it created.

Set up each surface

When you connect an app, tell Peeps which surfaces to test:
  • Web: connect your repository and set each environment’s BASE_URL.
  • Mobile: point Peeps at the iOS and Android builds your CI produces.
  • API: point Peeps at your OpenAPI or GraphQL schema, such as api/openapi.yaml.
Schedules, deploy triggers, and suites work the same way for every surface.

Where web only still applies

Some features work on web projects only for now. Each page says so where it applies:
  • Bug scan crawls web apps.
  • Connecting a repository works with web projects.
  • From your coding agent, running, fixing, generating, importing, and editing scripts work on web test cases. Mobile projects are managed in the Peeps web app.
  • API keys send results to web projects.