Rebuilding QA automation without breaking quality gates
This client is a digital marketing platform built for the travel industry — using AI, machine learning, and travel data to help hotels, airlines, attractions, and tourism boards reach the right audience and drive more bookings. 10Decoders led the modernization of its QA automation, moving from a legacy Robot Framework and Jenkins setup to a scalable Playwright and TypeScript platform built for faster feedback and stronger traceability.
From Robot Framework to a Playwright platform built to scale
As the client's application and automation suite grew, its QA automation needed to evolve with it. 10Decoders led the modernization of the client's portal automation, transitioning from a legacy Robot Framework and Jenkins-based approach to a more scalable, maintainable platform built with Playwright and TypeScript.
The goal wasn't simply to swap one automation tool for another. The aim was a modern QA ecosystem delivering faster feedback, flexible test execution, better reporting, stronger traceability, and easier collaboration between the Automation and Manual QA teams — without compromising the quality gates already in place.
The core technology stack
Playwright + TypeScript
Executes cross-browser end-to-end tests efficiently, with type-safety and a robust test architecture.
Page Object Model
Centralizes common application interactions so they're reused across test cases, easing maintenance.
Zephyr
Maintains end-to-end requirement traceability between test cases and their automated counterparts.
Hasura GraphQL
Delivers dynamic test data on demand, so validation runs against real, relevant application data.
GitHub Actions
Runs two parallel pipelines — scheduled official quality gates and on-demand Sandbox Test Jobs.
Streamlit Dashboard
Provides centralized execution visibility, pass/fail trends, and historical automation health.
Automation quality isn't just pass or fail — it's also security.
The Challenge
- Maintaining a growing number of automated tests efficiently
- Quickly validating individual test cases without running an entire suite
- Keeping experimental or troubleshooting runs separate from official quality metrics
- Improving visibility of automation results for technical and non-technical stakeholders
- Maintaining traceability between test management and automated test cases
Our Approach
- Built a modular Playwright + TypeScript framework on the Page Object Model for scalable, reusable coverage
- Introduced dedicated Sandbox Test Jobs for on-demand, isolated test execution
- Split CI into two lanes — official pipelines for quality signals, sandbox jobs for experimentation
- Delivered a Streamlit dashboard with pass/fail visibility, historical trends, and Slack alerts for every stakeholder
- Integrated Zephyr test management so every automated scenario stays linked to its source test case
The Solution
10Decoders designed and built a Playwright-based automation platform around dual CI execution. Official GitHub Actions pipelines run scheduled Smoke and Regression suites and approved module-level checks, preserving reliable automation history and quality signals. Three dedicated Sandbox Test Jobs run in parallel, giving engineers an isolated lane for targeted, on-demand execution that never touches official metrics.
Day to day, authorized Manual QA users trigger their own targeted runs through GitHub Actions — choosing an environment, suite, module or tag, and even parallel shard count — without depending on the Automation team. Results land in a Playwright HTML report and the Streamlit dashboard, with Slack notifications the moment a run finishes.
Select an environment, suite, or individual test case — then trigger the run yourself.
Get pass/fail results in a Playwright HTML report, the dashboard, and Slack — no waiting on the automation team.
Sandbox runs never touch official quality metrics — investigate freely, without risk.
Every automated scenario traces back to its Zephyr test case.
How a test flows through the platform
Test Management & Data
Zephyr test cases and dynamic Hasura GraphQL data feed every automated scenario with real, traceable inputs.
Playwright + TypeScript
A Page Object Model framework runs through two GitHub Actions pipelines — official quality gates and on-demand sandbox jobs.
Reporting & Visibility
HTML reports, a Streamlit dashboard, and Slack alerts give every stakeholder a live read on automation health.
Built for scale, clarity, and trust
Built to Scale, Not Just Run
A Page Object Model design keeps common interactions centralized and reusable across every test.
Official and Experimental, Kept Apart
Scheduled pipelines protect quality signals while three Sandbox Test Jobs absorb ad-hoc debugging.
Every Test Traces to a Test Case
Zephyr integration keeps a clear line from test management through automation to CI execution.
Data That Matches Reality
Hasura GraphQL pulls live application data so tests validate against accounts that actually contain the right data.
One Dashboard, Every Stakeholder
A Streamlit dashboard with historical trends gives technical and non-technical teams the same view of automation health.
Self-Service Without the Risk
Manual QA can trigger targeted runs through GitHub Actions without touching official pipelines or automation-team time.
The delivered platform
Playwright + TypeScript Framework
A reusable, Page-Object-Model-based automation framework with Smoke and Regression suites for major modules.
Dual CI Pipelines
Official scheduled GitHub Actions workflows plus three Sandbox Test Jobs for isolated, on-demand runs.
Streamlit Reporting Dashboard
Centralized execution visibility, historical trend analysis, cloud artifact storage, and Slack notifications.
Traceability & Dynamic Data Layer
Zephyr-integrated test traceability paired with a Hasura GraphQL dynamic test-data layer.
What Changed
How the engagement was run
Delivery Quality
- An embedded QA automation team worked directly within the client's QA function
- Migration ran phased alongside the live Robot Framework suite, so coverage was never interrupted
- New engineers ramp up through a defined path — framework and Page Object Model, tagging and dynamic data, then owning a module
IP & Reusability
- A modular Playwright framework built without heavy reliance on hooks — easier to maintain and extend
- MCP Server integration for AI-assisted test development, reusable across projects
- A shared parallel execution strategy and reusable utilities for authentication, API interactions, and configuration, now part of 10Decoders' core stack
Impact across the QA organization
Automate with Confidence
A modular framework and clear conventions mean less time on maintenance, more on coverage.
Self-Service Validation
Trigger targeted automated checks yourself and get results without waiting on the automation team.
Trustworthy Quality Signals
A dashboard with historical trends gives a live, reliable read on release health at a glance.



