Smoke test for Acme Freight, the built-in demo site: the home page answers, a shipment in transit tracks correctly, and an unknown number says so.
demofreightsmoke version: 1.0 DEMO-010__freight_home_and_tracking.py group: Freight regressiongroup: Freight smokegroup: Python and TypeScript, side by side
Runs
20
Pass rate
100%
20 passed / 0 failed
Avg duration
2s
p95 3s
Estimate
2s
avg of last 10 judged runs
Flakiness
0.00
0 stable · 1 alternates
Current streak
20
passed
Duration per run point color = outcome; dashed = 7-run average; click a point to open the run
Step timing trends the same step compared across the last 20 runs — slowest steps first, one line each
How long it takes distribution of 20 runs — two humps mean two different behaviours hiding behind one average
fastest 2s · slowest 3s
Why this test failed grouped by message, last 90 days
No failures recorded. 👍
Outcomes by target version
What this test does plain language, derived from the code
- site = Freight(page, ctx).open()
- assert "/demo/freight/" in page.url, f"not on the demo site: {page.url}"
- assert page.inner_text("#hero-title").strip(), "the home page has no headline"
- ctx.log(f"Acme Freight says it is release {site.version}")
- Take a screenshot (“home”)
- ⏱ Timed phase: track a shipment in transit
- site.track("AF-100001")
- status = page.inner_text("#track-status")
- assert status == "In transit", f"AF-100001 should be in transit; the page says {status!r}"
- Check #track-destination contains “Frankfurt”
- events = page.locator("#track-events li").count()
- assert events >= 3, f"expected a scan history, found {events} events"
- Take a screenshot (“tracking”)
- ⏱ Timed phase: track an unknown number
- site.track("AF-000000")
- assert page.is_visible("#track-not-found"), "an unknown number must say so"
Show the code
"""Freight smoke: the public site answers and tracking works.
The first test to run against a new release -- the kind of fast check a
Smoke group exists for. It proves we really are on Acme Freight (a sign-in
page or an SSO bounce also has a title), logs which release the site says it
is, and tracks two shipments: one on the move, one that does not exist.
"""
from _lib.freight import Freight
def run(page, ctx):
site = Freight(page, ctx).open()
assert "/demo/freight/" in page.url, f"not on the demo site: {page.url}"
assert page.inner_text("#hero-title").strip(), "the home page has no headline"
ctx.log(f"Acme Freight says it is release {site.version}")
ctx.screenshot("home")
with ctx.timed("track a shipment in transit"):
site.track("AF-100001")
status = page.inner_text("#track-status")
assert status == "In transit", f"AF-100001 should be in transit; the page says {status!r}"
assert "Frankfurt" in page.inner_text("#track-destination")
events = page.locator("#track-events li").count()
assert events >= 3, f"expected a scan history, found {events} events"
ctx.screenshot("tracking")
with ctx.timed("track an unknown number"):
site.track("AF-000000")
assert page.is_visible("#track-not-found"), "an unknown number must say so"
All runs
| Run | Status | Queued | Duration | Version | Trigger | Batch |
|---|---|---|---|---|---|---|
| #493 | passed | 2026-09-25 07:19:01 | 2s | 3.0.0 | manual | DEMO-010 |
| #485 | passed | 2026-09-25 07:00:10 | 2s | 3.0.0 | schedule | schedule: Freight regression … |
| #469 | passed | 2026-09-25 00:30:11 | 2s | 3.0.0 | group | group: Python and TypeScript,… |
| #399 | passed | 2026-09-24 23:34:49 | 2s | 3.0.0 | manual | DEMO-010 |
| #392 | passed | 2026-09-24 23:24:12 | 2s | 3.0.0 | group | group: Freight smoke |
| #388 | passed | 2026-09-24 23:23:58 | 2s | 3.0.0 | group | group: Freight smoke |
| #384 | passed | 2026-09-24 23:22:20 | 2s | 3.0.0 | group | group: Freight smoke |
| #380 | passed | 2026-09-24 23:10:27 | 2s | 3.0.0 | group | group: Freight smoke |
| #378 | passed | 2026-09-24 23:05:23 | 2s | 3.0.0 | manual | DEMO-010 |
| #377 | passed | 2026-09-24 22:33:53 | 2s | 3.0.0 | cli-adopted | DEMO-010 |
| #373 | passed | 2026-09-24 22:10:14 | 3s | 3.0.0 | schedule | schedule: Freight smoke 22:10 |
| #365 | passed | 2026-09-24 22:05:21 | 3s | 3.0.0 | group | group: Freight regression |
| #355 | passed | 2026-09-24 22:04:30 | 3s | 3.0.0 | group | group: Freight smoke |
| #351 | passed | 2026-09-24 22:04:21 | 3s | 2.1.0 | group | group: Freight smoke |
| #331 | passed | 2026-09-24 19:48:13 | 2s | 3.0.0 | cli-adopted | 4 tests (terminal) |
| #307 | passed | 2026-09-24 18:59:58 | 3s | 3.0.0 | cli-adopted | 8 tests (terminal) |
| #299 | passed | 2026-09-24 18:57:59 | 2s | 2.1.0 | cli-adopted | 8 tests (terminal) |
| #287 | passed | 2026-09-24 18:55:40 | 2s | 2.0.0 | cli-adopted | 8 tests (terminal) |
| #148 | passed | 2026-09-24 18:52:00 | 2s | 1.1.0 | cli-adopted | 8 tests (terminal) |
| #10 | passed | 2026-09-24 18:48:19 | 3s | 1.0.0 | cli-adopted | 8 tests (terminal) |