top of page
Digital Shelf
It’s more of a personal collection—random things I come across, resources worth remembering, and thoughts I might want to come back to later. Just a place to keep track of it all.


Waiting for Browser API Calls & Cypress
Modern applications load content asynchronously through APIs.If a test does not properly wait for those API responses, race conditions appear. This reference explains how to correctly wait for browser API calls in Cypress and prevent flakiness in dynamic applications. The Problem: Asynchronous Content When UI content depends on /articles API response, Cypress may assert before data is fully loaded. This approach is flaky: Why it fails: .invoke('text') captures text immediatel
Feb 171 min read
Â


API Mocking In Cypress
API mocking is a powerful Cypress feature that allows tests to run faster, more reliably, and independently of backend data. This page serves as a hands-on reference for how API interception works in Cypress. Cypress API Interception Overview Cypress provides the cy.intercept() command to intercept browser API calls and optionally return mock responses. There are three common ways to define an intercept: URL + response Method + URL + response (recommended for clarity) Route
Feb 112 min read
Â


API Basics for QE
This post explains how APIs work from a QA perspective and how they fit into modern testing strategies. It focuses on concepts that are useful in daily work and commonly discussed during interviews. What Is an API? API stands for Application Programming Interface , but in practice it means how applications communicate . A typical flow looks like this: A client (browser or mobile app) sends a request A server processes it A response is sent back This request–response cycle hap
Feb 92 min read
Â


Cypress Custom Commands
This post explains how Cypress custom commands work, when they make sense, and when they should be avoided. It is written as a practical reference rather than a theoretical guide. What Are Cypress Custom Commands? Custom commands are global Cypress commands that can be called from any test or spec file. Defined in cypress/support/commands.js Available via cy.commandName() just like built-in commands Basic syntax: They are useful for removing duplication when the same operati
Feb 92 min read
Â


Parametrized Object Methods in Cypress
Parametrized object methods are a key technique for building scalable and maintainable Cypress test suites. Instead of creating multiple methods for similar interactions, a single method can be reused by passing different parameters that control its behavior. This reference page demonstrates how parametrized methods can be applied in a Page Object Model (POM) setup, using form layouts and date picker components as examples. Example Test Using Parametrized Page Object Method
Feb 82 min read
Â


Conditional Object Function
When automating UI tests, navigation menus that expand and collapse dynamically are a common source of flaky tests. If a menu group is already expanded, clicking it again may collapse it - hiding the submenu items and causing test failures. This reference explains a clean, reusable Cypress pattern for safely navigating collapsible menus by ensuring a menu group is expanded only when necessary . The Problem: Collapsible Menus Cause Flaky Tests Consider the following navigati
Feb 71 min read
Â
bottom of page