October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

My QA Automation Journey: From Zero to CI/CD

Start QA automation with one valuable browser test, run it locally, then add a CI workflow that installs dependencies, waits for the app, and preserves useful failure reports.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can go from manual testing to a browser test running in CI by learning a few foundations, automating one clear user journey, and wiring that test into a repository workflow. Start small: a single test that catches an important regression is more useful than a large suite whose failures you cannot explain.

What “from zero to CI/CD” means

QA automation uses code to check whether specified behavior works. CI (continuous integration) commonly means automatically running checks when code changes are pushed or a pull request is opened. CD may refer to continuous delivery or continuous deployment; those involve preparing or releasing changes and are not the same thing as running tests. This path focuses on automated verification in CI, a practical first step toward a broader CI/CD workflow.

As an Amazon Associate I earn from qualifying purchases.

GitHub Actions describes a workflow as a configurable process defined in a YAML file in the repository, typically under .github/workflows. An event such as a push or pull request can trigger it; jobs contain ordered steps that run scripts or reusable actions on runners or in containers. Jobs may run sequentially or in parallel according to their dependencies. GitHub Docs explains workflows, events, jobs, and runners.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Build the foundations before writing browser tests

You do not need to master software development before automating a useful check, but you will need enough practical knowledge to create, run, and debug a test. Learn basic programming in the language used by your project, command-line navigation, and the Git workflow for committing changes and opening pull requests. GitHub’s quickstart assumes basic GitHub familiarity and an existing repository, so understanding those ideas makes the first workflow less mysterious. See the GitHub Actions quickstart.

  • Programming basics: variables, functions, conditions, and reading error messages.
  • Command line: running project scripts and recognizing whether a command succeeded or failed.
  • Git and repositories: where the application and tests live, and how a pull request proposes a change.
  • Testing fundamentals: describe the starting condition, the action, and the result that should follow.

Turn a manual check into one useful automated scenario

Choose a stable, important user journey with an outcome you can verify. For an illustrative small web app, that might be a visitor signing in with valid credentials and reaching the account page. The test should say what it does and what success looks like—not merely click through a sequence of controls.

  1. Write down the precondition, such as a test account being available.
  2. List the user action in plain language: open the sign-in page, enter credentials, and submit the form.
  3. State a visible expected result, such as the account page appearing or a signed-in indicator being shown.
  4. Check that the app and test data are stable enough for repeated runs, then automate only this flow first.

This is a teaching recommendation, not a universal test-design rule. A small first scenario helps you distinguish a product defect from a test setup problem, a brittle selector, or an application that was not ready.

Choose one browser framework for the project

Playwright and Cypress both document ways to run browser tests in CI. The available documentation does not establish a universal winner, so choose against your actual project and team rather than a general ranking.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Decision factor What to check
Language and repository Use the framework that fits the project’s supported language and existing code, and that your team can maintain.
Application and browser needs Confirm the browsers, application type, and test types your checks must cover in the framework’s current documentation.
Failure diagnosis Consider whether the team can interpret the reports, traces, screenshots, video, or interactive debugging tools available in its setup.
CI provider Follow the framework’s instructions for the provider you use; setup and available runner features can differ.

Cypress describes its architecture as running in the same run loop as the application and contrasts that with tools that send remote commands. It also describes command history and snapshots as debugging aids. Treat these as Cypress’s account of its design and tools, not independent evidence that it is superior for every project. Read Cypress’s architecture and debugging overview.

Run the first test locally

Before adding CI, make the test run in the project’s local environment. That gives you a quicker feedback loop and makes it easier to investigate a failure before introducing workflow configuration.

Playwright

Follow Playwright’s installation instructions for the project, including installing the required browser binaries. Its documented test command is npx playwright test. Playwright’s CI guide covers installation and execution.

Cypress

Install Cypress according to the project’s setup, then run the documented command npx cypress run. Consult Cypress’s CI guide for the provider-specific details. Cypress: Continuous Integration with Cypress.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not begin by installing both frameworks. One understood test and one understandable failure report are a more manageable starting point than duplicated setup.

Add the Playwright test to GitHub Actions

Playwright’s official CI guide includes a GitHub Actions example. It triggers on pushes and pull requests, checks out the repository, sets up Node, installs dependencies with npm ci, installs Playwright browsers with system dependencies, runs the tests, and uploads the test report as an artifact. The guide’s action versions and Ubuntu runner are examples, not permanent requirements; check the current documentation and your project’s needs when creating the workflow. See Playwright’s current GitHub Actions example.

A workflow file has two jobs to do: declare when it should run and give the runner the steps needed to reproduce the test environment. In practical terms, the sequence is:

  1. Create a YAML workflow under .github/workflows.
  2. Set push and pull-request events as triggers if you want checks on both kinds of change.
  3. Check out the repository and set up the project’s required Node version.
  4. Install dependencies, then install the browser binaries and required system dependencies for Playwright.
  5. Run npx playwright test.
  6. Upload the Playwright report so it is available to inspect after the run.

The documented guide supplies the working example; use it as the source for the current action syntax and versions rather than copying an old snippet blindly. A workflow can fail before the test itself starts—for example, during dependency installation or browser setup—so read the failed step before diagnosing the test code.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Prevent server-readiness races in CI

A common failure occurs when a workflow starts the application server and immediately launches browser tests. Issuing the start command does not prove that the app is accepting requests: the test may reach it while startup is still in progress. Cypress explicitly warns about this race and recommends waiting for a response before test execution. Cypress’s CI guide discusses server readiness.

  • Make server startup and test execution separate, ordered operations.
  • Use a readiness-aware wait mechanism that checks the app responds before running tests.
  • If the wait fails, investigate the app’s startup output, its configured address and port, and whether the server process exited.
  • If the server becomes ready but the test still fails, inspect the test report and browser-level error rather than increasing delays without evidence.

A fixed pause can hide timing variation: a slow run may still outlast it, while a fast run wastes time. A response-based readiness check ties the transition to the condition the test actually needs.

Make a failed run useful

CI adds value when a failure leaves evidence you can act on. Preserve the report or other diagnostic output provided by your framework; Playwright’s example uploads its report as a workflow artifact. Then identify which layer failed before changing code.

  1. Workflow setup: Did checkout, Node setup, dependency installation, or browser installation fail?
  2. Application startup: Did the server start, and did it become reachable before test execution?
  3. Test execution: Did the browser reach the expected page, and which assertion or action failed?
  4. Application behavior: Does the same scenario fail locally, suggesting a product or test issue, or only in CI, suggesting an environment or timing difference?

Reports, traces, screenshots, and video can help explain what the browser saw, depending on framework configuration. Treat the failed step and its captured evidence as the starting point; changing selectors or adding waits before understanding the failure can make tests harder to trust.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Expand only after the first check is understandable

Once one high-value test runs reliably and its failures are diagnosable, add scenarios according to product risk and defects you have observed. Keep each test focused enough that a failure points to a plausible problem.

For a growing Playwright suite, sharding tests across jobs and running in containers are documented scaling options, not prerequisites for a first test. Cypress points learners to its Real World App, a sample project with multiple test types and CI, for further experimentation. Playwright documents sharding and containers. Cypress describes its Real World App resource.

Action versions, runner images, browsers, and framework commands change. Use the current official guide for the project’s framework and CI provider when updating the workflow.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.