PW-Tests Wiki

KeyValue
StatusActive
OwnerQA Automation
Updated2026-03-26
ScopeMain Confluence landing page for the PW-Tests system

PW-Tests is the shared Playwright platform for Czech News Center websites. It is not one test suite. It is a layered monitoring and release-safety system that checks six live sites, publishes alerts to Slack, pushes telemetry to OpenSearch and Grafana, and keeps a growing history of recurring failures so the team can tell the difference between a real regression, a flaky run, and something already fixed.

What The System Covers

AreaWhat It Covers Today
Core site healthSmoke, Shadow, PDT, E2E, User-Flows
MobileChrome and Safari, with @smoke, @regression, and @deep tiers
Content validationRegistry-driven Content Tests across 120 entries and 231 site slots
Visual checksStructural screenshot comparisons for homepage, header, and footer
MonitoringConsent, selector health, robots.txt, sitemap health, URL crawling, Grafana visual checks
ReportingSlack run alerts, weekly and monthly reports, recovery replies, humanized failure investigation threads
ObservabilityEventLogger, OpenSearch, Grafana 2.0 dashboards, observability verification scripts
AI-assisted workflowsHealer, incident store, historical failure priors, cause assessment, visual fact-checking

Current Operating Snapshot

The numbers below reflect the current March 2026 operating snapshot used across the repo and runbooks.

SuiteCurrent StateNotes
Smoke12/12 passingFast health signal before anything else
PDT30/30 passingPost-deploy gate; Blesk logo and cross-site nav fixes restored full pass rate
Shadow6/6 sites passingReliability-first continuous monitoring
E2E71/76 passingDaily journey coverage
User-Flows30/34 passingFour skips are by design
Mobile9 @smoke, 8 @regression, 6 @deep per projectPR-safe tiering plus nightly depth
Visual18 structural checksBaseline-dependent Linux screenshot suite
Content6/6 sites passing120 registry entries, about 85% average existence pass rate, Blesk at 100%

What Changed Recently

The system has moved a long way from basic Slack alerts and raw Playwright output. The most important upgrades now live in day-to-day operations:

  • failure notifications are more human and more useful, with calm headlines and verdict-first investigation threads
  • known incidents are matched against a git-tracked incident store instead of being treated as brand-new every time
  • recovery replies can close the loop in Slack when a failure stops repeating
  • Grafana 2.0 dashboards are generated as code and validated automatically
  • observability can be checked by script, not just by opening dashboards in a browser
  • the visual suite was intentionally reduced to 18 structural checks so it stays practical on fast-changing news sites
  • content testing is now a proper product area with its own registry, handlers, history, and Confluence pages

How To Use This Wiki

If You Need To...Start Here
Get the repo running locallyGetting Started
Understand how the platform is wired togetherArchitecture Overview
See what each test suite is forTest Types
Find the right commandCLI Reference
Check env vars, thresholds, and site configConfiguration Guide
Understand failure labels and routingFailure Categories
Work with Slack, Grafana, OpenSearch, or Confluence publishingIntegrations
Trace what gets logged and where it goesLogging System
Understand monitors, schedules, and background checksMonitoring
Understand alerts, summaries, and reportsReporting
Work on healing, incident matching, or AI-assisted workflowsAI Processing
Review screenshots with AI after failures or deploysVisual Fact-Checker
Understand the telemetry stack, Grafana dashboards, and OpenSearchObservability
Add a new site, suite, or integrationExtending the System
Unblock yourself when something is failingTroubleshooting

Documentation Map

Core Pages

PageWhy It Exists
Getting StartedFirst local setup, first runs, what to expect
Architecture OverviewHigh-level design, data flow, and moving parts
Configuration GuideEnv vars, site config, thresholds, browser and reporter settings
CLI ReferenceCommand catalog grouped by job to be done

Operations Pages

PageWhy It Exists
Test TypesPurpose, depth, and schedules of every suite
Failure CategoriesCommon failure shapes and how they should be interpreted
MonitoringProactive checks outside the main suites
ReportingSlack alerts, reports, recovery replies, report consumers

Advanced Pages

PageWhy It Exists
AI ProcessingHealing pipeline, incident intelligence, and operator workflows
Visual Fact-CheckerAI screenshot review using Claude Vision for failures and post-deploy verification
ObservabilityOpenSearch, Grafana, Prometheus, Alertmanager — stack setup and operations
IntegrationsSlack, Grafana, OpenSearch, GitLab, Confluence
Logging SystemEventLogger, schemas, records, retention, artifacts
TroubleshootingThe practical “what do I do now?” page
Extending the SystemHow to add new sites, suites, handlers, and integrations safely
ToolLinkWhy People Use It
GrafanaPW-Tests dashboardsStatus, Investigate, Trends, alert triage
GitLabpw-tests-betaPipelines, schedules, artifacts, merge requests
Slack#qa-alerts and #qa-reportsRun alerts, investigation threads, weekly summaries
Confluence parent pagePlaywright TestsPublished wiki home

Covered Sites

SiteDomainConsentNotes
Bleskwww.blesk.czCPEXMain mass-market news site
Autowww.auto.czCPEXAutomotive site with premium flows
E15www.e15.czDidomiBusiness site with premium surfaces
Reflexwww.reflex.czDidomiMagazine-style editorial layout
iSportisport.blesk.czCPEXSports site with cross-domain edge cases
Opinioopinio.czCPEXDifferent navigation model; no desktop hamburger

Confluence Notes

This source markdown is written for Confluence publishing, not for a GitHub README experience.

  • keep pages readable for people first
  • avoid heavy code blocks unless they are truly necessary
  • prefer tables, short sections, and expand blocks for long detail
  • use the wiki pages as the long-term operating reference, not just a dump of commands

All PW-Tests wiki child pages publish under the Playwright Tests parent page in Confluence. Use the scripts in .confluence/ rather than creating pages manually, so links, diagrams, and formatting stay consistent.