LOWRY LAB · AUTOMATION STARTER

Clone it. Pick a browser. Run a real UI test.

A deliberately small cross-browser automation starter built with Java 21, Maven, JUnit 5, and Playwright. It already tests the live Creature Forge app, so you start with something working and expand from there.

Download starter ZIP View architecture View source · coming soon
4browser targets
1real page object
1working E2E test
0driver executables to manage

START HERE

The smallest useful framework.

There is no reporting platform, dependency injection container, API framework, workflow layer, or giant configuration system yet. Every abstraction exists because the starter already needs it.

Java + Maven

Normal pom.xml project. Clone it, resolve dependencies, and run with Maven.

JUnit 5

The test lifecycle stays familiar. BaseTest creates and tears down the browser environment.

Playwright

Modern locators, auto-waiting, isolated browser contexts, and cross-browser automation.

Cross-browser from day one

Chrome, Edge, Firefox, and WebKit for Safari-engine coverage are already selectable from the command line.

ARCHITECTURE

Enough structure to grow. Not enough to hide what is happening.

CreatureForgeTestdescribes test intent
↓
CreatureForgePageknows the UI
↓
BaseTestowns JUnit setup / teardown
→
BrowserManagerowns browser choice and lifecycle
↓
Playwrightdrives the browser

Test

What are we proving?

Page object

How do we interact with this screen?

BaseTest

What happens before and after every test?

BrowserManager

Which browser runs, and how is it created and cleaned up?

CLONE → CONFIGURE → RUN

The whole onboarding story.

  1. 1

    Have Java 21 and Maven

    java -version
    mvn -version
  2. 2

    Install the Playwright-managed browsers once

    mvn test -DskipTests
    mvn exec:java -e \
      -Dexec.mainClass=com.microsoft.playwright.CLI \
      -Dexec.args="install chromium firefox webkit"
  3. 3

    Run the included test

    mvn test

    Chrome is the default. The test runs against the live Creature Forge architecture demo.

BROWSER TARGETS

Same test. Different browser.

Chromemvn test -Dbrowser=chromeInstalled Google Chrome
Edgemvn test -Dbrowser=edgeInstalled Microsoft Edge
Firefoxmvn test -Dbrowser=firefoxPlaywright Firefox
Safari-likemvn test -Dbrowser=safariPlaywright WebKit; not installed Safari
Want to watch it?mvn test -Dbrowser=chrome -Dheadless=false

THE INCLUDED TEST

It tests something you can see.

The sample test opens Creature Forge, verifies all three architecture options, selects GraphQL, loads the boss example, verifies a GraphQL request appears, and checks that the UI receives Vharos, Warden of the Last Gate.

Open Creature Forge →
Creature Forge
  ↓
Direct REST ✓
REST BFF    ✓
GraphQL     ✓
  ↓
Load boss example
  ↓
Verify returned UI

THE POINT

Start from working. Add complexity only when the problem earns it.

Version 1 is intentionally not a finished enterprise framework. It is a functional foundation: browser management, test lifecycle, page-object separation, and one real test. Reporting, API setup, configuration, parallel execution, CI, and other layers can be added one decision at a time.