42 Guides · Testing & DevOps

Test Automation & DevOps

End-to-end testing with Cypress and Selenium, CI/CD pipelines with Jenkins and GitHub Actions, infrastructure-as-code with Terraform and Ansible, and production monitoring with Prometheus and Grafana.

Cypress — Getting Started

Intro

Cypress Automation Testing: Modern E2E Testing

What Cypress is, how it differs from Selenium, architecture, key features and when to choose Cypress for your project.

Read guide →
Install

Installing and Configuring Cypress

Step-by-step Cypress installation, cypress.config.js setup, folder structure, first spec file and running your first test.

Read guide →
Course

Cypress Automation: Comprehensive Course

Full learning path: setup, selectors, assertions, commands, fixtures, network stubbing and CI integration — all in one guide.

Read guide →
Running Tests

Running Cypress Tests: CLI and Headless

cypress run vs cypress open, headless mode, browser selection, spec filtering, environment flags and exit codes.

Read guide →
Commands

Cypress Commands: Complete Guide

cy.get, cy.contains, cy.intercept, cy.request, cy.fixture, cy.stub — every core command with practical usage examples.

Read guide →
Assertions

Cypress Assertions Guide

should(), expect(), assert — implicit vs explicit assertions, Chai matchers, custom assertions and async assertion strategies.

Read guide →
Selectors

Selecting Elements in Cypress

CSS selectors, data-cy attributes, cy.contains, cy.within, best practices for resilient selectors and avoiding brittle tests.

Read guide →
Waits

Cypress Waits: Avoiding Flaky Tests

cy.wait(), cy.intercept() aliasing, retry-ability, waiting for elements vs network requests and eliminating arbitrary sleeps.

Read guide →
Custom Commands

Writing Custom Commands in Cypress

Cypress.Commands.add(), parent vs child commands, TypeScript type definitions, login commands and reusable test utilities.

Read guide →
Environment Vars

Environment Variables in Cypress

Passing env vars via CLI, cypress.env.json, cypress.config.js and CI environment — keeping secrets out of the codebase.

Read guide →

Cypress — Advanced Topics

Advanced

Advanced Cypress: Multi-Tabs, iframes and More

Handling multiple browser windows, iframes, file uploads, drag-and-drop, clipboard and other complex interaction patterns.

Read guide →
Multi-Tabs

Multi-Tab Testing in Cypress

Why Cypress discourages multi-tab testing, cy.stub() workaround for new-tab links and alternative single-tab patterns.

Read guide →
File Upload

File Upload Testing with Cypress

cypress-file-upload plugin, native input[type=file] triggering, drag-and-drop file upload and validating upload responses.

Read guide →
Local Storage

Managing Local Storage in Cypress

cy.clearLocalStorage(), reading and setting localStorage, preserving auth state between tests and cypress-localstorage-commands.

Read guide →
Parallelization

Parallelizing Cypress Tests

Cypress Cloud parallel runs, GitHub Actions matrix strategy, splitting specs and cutting pipeline time for large test suites.

Read guide →
Debugging

Cypress Automation Examples

Real-world test examples: login flows, form validation, API testing with cy.request() and table assertion patterns.

Read guide →
Errors

Cypress Installation Errors: Quick Fixes

Fixing ENOENT, binary download failures, missing dependencies on Linux/CI, proxy issues and CYPRESS_INSTALL_BINARY workarounds.

Read guide →
Flaky Tests

Cypress Still Waiting: Fixing Timeout Errors

Diagnosing "Cypress waited X seconds" errors — network timing, selector issues, async rendering and increasing timeout selectively.

Read guide →
Errors

Handling Uncaught Exceptions in Cypress

cy.on('uncaught:exception') handler, suppressing third-party errors, allowUncaught vs selective ignoring and test isolation.

Read guide →
Errors

Common Cypress Test Errors and Fixes

Top 10 Cypress errors: element detachment, cross-origin iframes, cy.visit() failures, aliasing issues and command queuing mistakes.

Read guide →
Interview

Cypress Interview Questions (2026)

50+ Cypress interview questions covering architecture, commands, assertions, best practices and CI/CD integration.

Read guide →

Cypress vs Other Frameworks

Comparison

Cypress vs Playwright vs Selenium 2026

Head-to-head: speed, browser support, parallelization, DX, community and which framework wins for which use case.

Read guide →
vs Selenium

Cypress vs Selenium: Detailed Comparison

Architecture differences, WebDriver vs direct browser control, speed, debugging experience and migration considerations.

Read guide →
vs Puppeteer

Cypress vs Puppeteer

Testing-focused Cypress vs scripting-focused Puppeteer — when to pick each and what to do when you need both.

Read guide →
vs Selenium/Puppeteer

Cypress, Selenium and Puppeteer Together

Combining frameworks in a test strategy, when to use multiple tools and integrating them into a single CI pipeline.

Read guide →
vs GitHub Actions

Cypress Cloud vs GitHub Actions for Parallelism

Cost and complexity of Cypress Cloud vs free GitHub Actions matrix — choosing the right parallel strategy for your team.

Read guide →

Cypress with AWS

AWS Overview

Running Cypress Tests on AWS

Architecture overview for running Cypress in AWS — EC2, Lambda, CodePipeline and CloudWatch integration patterns.

Read guide →
AWS Setup

Setting Up Cypress on AWS

EC2 instance configuration, headless Chrome dependencies, IAM roles and running Cypress in an AWS-managed environment.

Read guide →
CodePipeline

Cypress in AWS CodePipeline

CodeBuild buildspec.yml for Cypress, CodePipeline stage definition, artifact passing, test reporting and failure gates.

Read guide →
CloudWatch

Cypress Test Metrics in CloudWatch

Pushing Cypress test results as CloudWatch custom metrics, dashboard creation, alarms on failure rate and trend analysis.

Read guide →
Lambda

Cypress Tests in AWS Lambda

Running headless Cypress in Lambda with chrome-aws-lambda, layer configuration, memory limits and invocation patterns.

Read guide →
DynamoDB

Cypress with AWS DynamoDB

Using AWS SDK in Cypress tasks to seed DynamoDB before tests, clean up after and assert on database state directly.

Read guide →
Load Testing

Load Testing with Cypress and AWS

Scaling Cypress for load simulation using AWS Fargate, Artillery integration and correlating test load with CloudWatch metrics.

Read guide →
Visual Regression

Visual Regression Testing with Cypress on AWS

Screenshot diffing with cypress-image-diff, storing baselines in S3 and running visual regression in CodePipeline.

Read guide →
Xray

Cypress Test Tracing with AWS X-Ray

Instrumenting Cypress test runs with X-Ray for distributed tracing, correlating UI tests with backend service traces.

Read guide →

Selenium

IDE · Firefox

Selenium IDE for Firefox

Installing Selenium IDE in Firefox, recording your first test, playback, exporting to code and IDE limitations.

Read guide →
IDE · Download

Downloading and Setting Up Selenium IDE

Selenium IDE download for Chrome and Firefox, configuration, project setup and converting recordings to WebDriver scripts.

Read guide →

CI/CD and Infrastructure

GitHub Actions

GitHub Actions Complete Guide

Workflows, jobs, steps, actions marketplace, secrets, environments, matrix builds, caching and reusable workflows.

Read guide →
Jenkins

Jenkins Pipeline Guide

Declarative and scripted pipelines, Jenkinsfile syntax, stages and steps, shared libraries, Blue Ocean and Docker agents.

Read guide →
Terraform

Terraform Complete Guide

HCL syntax, providers, resources, state management, workspaces, modules, plan/apply cycle and remote backends.

Read guide →
Ansible

Ansible Automation Guide

Inventory, playbooks, roles, variables, handlers, Ansible Vault for secrets and idempotent infrastructure configuration.

Read guide →
Monitoring

Prometheus and Grafana Monitoring Guide

Prometheus scraping, PromQL queries, alert rules, Grafana dashboards, data sources and production monitoring setup.

Read guide →