E2E test automation · South Africa

Every deploy, green‑lit.

We write the end-to-end tests your team never gets round to. They open a real browser and click through your real product, and they run in your CI, so a broken sign-up, checkout or dashboard gets caught before a customer sees it.

  • Fixed price in rand
  • Tests live in your repo
  • No lock-in
  • sign-up & email verification
  • login & 2FA
  • password reset
  • checkout & payments
  • promo codes
  • onboarding wizards
  • role permissions
  • search & filters
  • file uploads
  • invoices & PDFs
  • booking calendars
  • multi-step forms
  • subscription upgrades
  • admin dashboards
Sound familiar?

Manual testing doesn’t scale. Your team’s patience doesn’t either.

Slow

Release day = click-through day

Someone spends hours clicking through the app before every release. It is boring, easy to rush, and it holds up deploys.

Risky

The bug is always in the flow nobody re-checked

A small change in one place breaks sign-up or checkout somewhere else, and customers find it before you do.

Stuck

"We should really write tests" is a backlog item

Your devs are shipping features. Nobody has the time or the specialist knowledge to set up a proper E2E suite.

What you get

A test suite your team can run, read and trust.

You don’t get a PDF or a dashboard subscription. You get real code in your repo that runs every time someone opens a pull request.

Runs on every pull request

Broken code can’t merge until the tests pass. The check runs across browsers and a phone-sized screen.

All checks have passed 4 successful
e2e / chromium38s
e2e / firefox44s
e2e / webkit (Safari)41s
e2e / mobile · Pixel 736s
Merge pull request

Lives in your repo

Plain TypeScript. No platform, no licence fees.

  • ▸ tests/
  • auth.spec.ts
  • checkout.spec.ts
  • roles.spec.ts
  • ▸ fixtures/
  • playwright.config.ts
  • .github/workflows/e2e.yml
  • E2E_README.md

Stable by design

Before handover, the whole suite runs 20 times in a row. It must pass all 20.

20/20 consecutive green runs

Failures you can debug in seconds

Every failure comes with a video, a screenshot and a step-by-step trace, so your devs see exactly what broke and where.

checkout.spec.ts › applies promo codefailed
  1. page.goto('/cart')
  2. fill(getByLabel('Promo code'), 'SAVE50')
  3. click(getByRole('button', { name: 'Apply' }))
  4. expect(getByTestId('total')).toHaveText('R450.00')
▶ video.webm▣ screenshot.png⌁ trace.zip

Alerts where you work

Failures on your main branch are posted to Slack or Teams, with a link to the report.

GL
e2e-bot 09:41
main failed: 1 of 42 tests
checkout › applies promo code
View report →

Handed over, not handed off

A clear README, a recorded walkthrough and a live session, so your devs can add tests themselves.

# Running the E2E suite
$ npm run e2e
$ npm run e2e:ui # watch mode
## Adding a new test
1. Copy tests/_template.spec.ts…
How it works

From first call to green checks in about a month.

What we need from you
  1. 01 Day 1

    Free discovery call

    30 minutes. We map your product and pick the flows where a bug would hurt most.

  2. 02 ≤ 48 hrs

    Fixed quote & NDA

    A written scope listing every flow, the price in rand and a delivery date. The NDA is signed before we see any code.

  3. 03 Week 1

    Onboarding

    You give us repo access, a QA environment, locked test accounts and a short screen recording of each flow.

  4. 04 Weeks 1–4

    Build

    We write the tests in a branch of your repo. Every Friday you get a short demo of new tests passing.

  5. 05 Final week

    Wire into CI

    The tests run on every pull request, and failures come with video, traces and screenshots.

  6. 06 Done ✓

    Handover

    A merged PR, a README and a live walkthrough, so your team can run, read and extend the suite.

The honest comparison

Cheaper than a hire. Faster than a backlog item.

Criteria Greenlight Hire in-house Keep testing manually
Cost to get a working suite From R18 500 once-off ≈ R40k–R70k / month salary + recruitment Hours of staff time every release
Time to first tests in CI 1–2 weeks 2–3 months (hire + ramp-up) Never automated
Runs on every pull request Yes Eventually No
You own the code Yes, it lives in your repo Yes N/A
Long-term commitment None. Optional monthly plan Permanent headcount None

In-house figure is a rough 2026 range for a mid-level QA automation engineer in SA, before benefits.

Works with your stack

  • Playwright
  • TypeScript
  • Cypress (existing suites)
  • GitHub Actions
  • GitLab CI
  • Bitbucket Pipelines
  • Azure DevOps
  • Jenkins
  • Docker
  • axe-core
  • React · Vue · Angular
  • Next.js · Laravel · .NET · Django
Pricing

Fixed prices, in rand.

No hourly surprises. Pick a package, add a monthly plan if you want the suite kept green.

Smoke Suite

Your few make-or-break journeys, checked on every deploy.

R18 500 once-off
Scope
Up to 5 user flows
Timeline
1–2 weeks
Get a quote

Full Regression

Release-gate coverage for larger or regulated platforms.

from R89 000 once-off
Scope
30+ user flows
Timeline
6+ weeks
Get a quote
FAQ

Questions teams usually ask.

Something else? Just ask.

Which tools do you use?

By default, Playwright with TypeScript. It is fast, free, and runs Chromium, Firefox and Safari (WebKit). If you already have a Cypress or Playwright suite, we can extend and stabilise it instead of starting over.

Who owns the tests?

You do. Everything is committed to your own repository. There are no licences, no platform fees and no lock-in. If we never speak again, the suite keeps running.

What happens when our UI changes?

Tests find elements by accessible roles and data-testid attributes, not by fragile CSS paths, so colour, layout and copy tweaks don’t break them.

When a flow changes for real, the README shows your devs how to update the test. Or a Keep Green plan means we handle it.

Will the tests be flaky?

We design against flakiness from the start: no fixed waits, test data set up through your API, and each test isolated from the others. Before handover, the whole suite runs 20 times in a row in CI and has to pass every time. Every package also includes a fix warranty.

Do you need access to production?

No, never. We work only against a QA or staging environment, using dedicated test accounts. See exactly what we need.

How do you handle confidentiality and POPIA?

We sign an NDA before we see your code. We only ask for the access we need, we never use real customer data, credentials are kept in your CI secrets and a password manager, and all our access is removed at handover.

Can you test native mobile apps?

Mobile web and responsive layouts are included from Core Coverage upwards. Native iOS and Android apps (with Maestro or Appium) are quoted separately. Ask on the call.

How does payment work?

50% deposit to book your start date and 50% on handover, by EFT. Monthly plans are billed in advance and you can cancel with 30 days’ notice. International clients can pay in USD, EUR or GBP.

Next step

Find out what your first suite would look like.

A free 30-minute call. We pick your riskiest flows together and you get a fixed quote within 48 hours. No obligation.