
Cypress Intercept Search
A Cypress plugin that adds a custom command to search and assert values in intercepted requests and responses.
Elevate your Cypress end‑to‑end testing with cypress‑intercept‑search, a lightweight plugin that streamlines assertions by providing a powerful, chainable .search()
command to recursively locate keys and values in intercepted requests and responses. This is a perfect fit for complex JSON payloads and dynamic test scenarios, it integrates seamlessly with Cypress 10+ (or earlier versions) through your cypress.config.js/ts
or plugin index file to unlock concise, maintainable assertions without boilerplate.
With the convenience of a built‑in search utility, it reduces test fragility and accelerates debugging, letting you focus on test logic instead of deep‑nesting helpers. Whether you’re validating headers, query parameters, or nested request/response bodies, cypress-intercept-search
delivers clarity, speed, and resilience to your CI/CD pipelines.
Key Features:
1. Chainable .search()
Command:
- Recursive Traversal: Automatically descends into every level of intercepted objects—headers, query strings, request bodies, and response payloads—to locate matching keys or specific values.
- Flexible Assertions: Use Cypress’s built‑in
.should()
and.then()
to assert existence, count matches, or inspect result metadata likelocation
,path
, andfullPath
.
2. Seamless Integration:
- Cypress 10+ Support: Hook into
setupNodeEvents(on, config)
incypress.config.js
orcypress.config.ts
, alongside other plugins (e.g., Mochawesome, RabbitMQ tasks) without conflicts. - Legacy Compatibility: Works with Cypress <10 via the classic
cypress/plugins/index.js
registration).
3. Typed and Autocompleted:
- TypeScript Definitions: Includes
index.d.ts
to enable IntelliSense for the.search()
API, improving developer experience and reducing errors.
4. Rich Result Objects:
- Detailed Metadata: Each match returns an object with
index
,location
(“request” or “response”),key
,value
,path
array, and stringifiedfullPath
for precise targeting.
Key Benefits:
- Reduced Boilerplate: No more custom recursive helpers or repetitive
.then()
blocks—just chain.search()
aftercy.wait()
for concise, expressive tests. - Improved Readability: Tests read like natural specifications, focusing on “what” to validate rather than “how” to traverse objects.
- Enhanced Maintainability: As your API evolves, the plugin’s generic search logic adapts without rewriting bespoke traversal code.
- Faster Debugging: Detailed match metadata pinpoints exactly where a failure occurs, accelerating root‑cause analysis in complex flows.
By integrating cypress‑intercept‑search into your testing stack, you’ll achieve faster test development, more resilient assertions, and clearer diagnostics—empowering your team to deliver rock‑solid applications with confidence.