← Back to Blog
EngineeringJan 04, 2026

Sleeping Better at Night: Automating Trust in Your SaaS

💡

TL;DR

Manual regression testing is a nightmare. We implemented Playwright E2E tests to act as a 'Robot User' that verifies our critical billing and authentication flows 24/7.

As developers, we often fear the "Friday Deploy." You push a small CSS fix, and suddenly, your billing page stops working. No one notices until Monday, and you've lost a weekend's worth of revenue.

This week, I decided to stop crossing my fingers and start automating trust. I added End-to-End (E2E) Testing to my application. Here is what I learned.


What is E2E Testing? (The "Robot User")

Unit tests check if a function works (2 + 2 = 4). E2E tests check if the application works.

Think of an E2E test as a Robot User. It opens a real browser, clicks real buttons, and expects real things to happen. If the Robot can't log in, neither can your users.

The Tool: Playwright

I chose Playwright because it's fast, modern, and handles the "flakiness" of the web (like waiting for pages to load) automatically.

The Challenge: "Login" isn't simple

My first test seemed simple: Go to Login -> See 'Welcome'. But it failed. Why? Because I told the robot to look for "a header" (<h2>). My page had two headers. The robot got confused and crashed.

Lesson: Be specific. I changed the instruction to: "Look for a Heading with the name 'Welcome back'." It worked instantly. Tests need to be as precise as they are dumb.


The "Security Guard" Test

One of the most valuable tests I wrote wasn't about logging in it was about keeping people out.

I told the robot: "Try to go to the Billing Page directly." Since the robot didn't have a password, the app correctly kicked it back to the Login page.

This is a simple test, but it guarantees that my protection logic is active. If I ever accidentally break my authentication code, this test will scream at me before a single user exposes their data.

Why This Matters

It took me about an hour to set this up. In exchange, I now have a command: "npm run test:e2e"

Every time I run it, I know:

  1. My site is up.
  2. My login page works.
  3. My security redirects are active.

That assurance is worth more than any new feature I could have built in that hour.

Never miss an update

Get the latest insights on AI and document automation delivered to your inbox.

No spam. Just engineering insights. Unsubscribe analytics anytime.