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.


Cypress Test Retries
UI automation is naturally flaky. Even well-written tests may occasionally fail due to timing issues, environment instability, or application state problems. A test might: pass 10 times fail once pass again on the next run This creates noise in CI pipelines and can break the expectation of a 100% passing test suite . Cypress provides a built-in retry mechanism that automatically reruns failed tests before marking them as failed. Why Retries Exist Retries help stabilize test
Mar 82 min read


Environment Variables in Cypress
Hardcoding credentials, API URLs, or environment-specific values in tests is not ideal.It makes tests harder to maintain and can expose sensitive information. Cypress provides several ways to manage environment variables , allowing tests to run across different environments (dev, QA, staging, production) without changing the test code. This page is a reference for the most common approaches. Why Use Environment Variables? Environment variables help: Avoid hardcoding credenti
Mar 52 min read


NPM Scripts for Cypress
Typing full Cypress CLI commands every time gets old fast. Instead of this: npx cypress run --spec "cypress/e2e/firstTest.cy.js"npx cypress run --spec "cypress/e2e/firstTest.cy.js" --browser firefox Create reusable NPM scripts once — then just run: npm run cypress:smoke-firefox Cleaner. Faster. Better for CI. Why Use NPM Scripts? Avoid repeating long terminal commands Standardize execution across the team Simplify CI/CD pipelines Centralize configuration in one place (package
Mar 22 min read


Skip Login With Saved Token in Cypress
Typing email + password in every test is slow and noisy. Cypress can skip the login screen completely by grabbing a token via API and placing it into localStorage before the app loads . This is a practical reference showing the before vs after , plus a reusable custom command. Why This Helps UI login usually costs ~8 seconds per test run (open page, fill fields, submit, wait UI). Token-based login can cut it to ~5 seconds because it avoids the whole form flow. Tests become cl
Feb 281 min read


E2E API Testing in Cypress
Cypress can run full end-to-end API workflows without opening the browser UI. It’s fast and stable, and it’s a good skill to understand. That said, for serious API testing at scale , Cypress is not the best tool. It works, but it gets clunky quickly. This post shows the approach and also explains where it makes sense (and where it doesn’t). What “E2E API Test” Means Here This type of test validates a full data lifecycle using only HTTP calls: Create auth token POST a new art
Feb 212 min read


Test Data with API for Cypress Test
UI flows are great for end-to-end confidence, but they’re slow when used just to “prepare data”. A common Cypress pattern is: create the test data via API run the real scenario via UI validate the result in the UI (and optionally via API) This page is a reference for that workflow. Why cy.request() is Useful cy.request() sends HTTP calls directly to the backend. It’s perfect for: creating articles/users/orders fast avoiding flaky UI setup steps keeping tests focused on the th
Feb 212 min read
bottom of page