✅ A complete, production-ready library of reusable Cypress custom commands for enterprise web applications — ideal for Angular, PrimeNG, React, Laravel, and complex UI frameworks.
cypress-enterprise-commands
is a comprehensive utility toolkit that helps Cypress testers write clear, stable, and efficient tests for modern frontend-heavy applications — particularly enterprise and ERP systems.
It provides 80+ powerful custom commands for:
- Tables, filters, labels, dialogs, dropdowns, inputs, and more.
- Handling edge cases, async rendering, UI validation, and interaction.
- Reducing boilerplate and making tests scalable and DRY.
npm install cypress-enterprise-commands
Then run the install command to copy reusable commands to your Cypress project:
npm run install:commands
✅ This will copy commands into
cypress/support/enterprise-commands/
and automatically import them into yourcypress/support/index.ts
.
cypress/
├── support/
│ ├── enterprise-commands/
│ │ ├── 1.Search_Filter_Verifications.ts
│ │ ├── 2.Element_Visibility_StateChecks.ts
│ │ ├── ...
│ └── index.ts <-- Automatically updated to import all commands
If not already added, you can include this script for future reinstalls:
"scripts": {
"install:commands": "node ./node_modules/cypress-enterprise-commands/scripts/install-commands.js"
}
🧩 80+ fully typed custom commands, organized in 14 modules:
📁 File | 🔎 Purpose |
---|---|
1.Search_Filter_Verifications.ts |
Table search field testing & filtering validations |
2.Element_Visibility_StateChecks.ts |
Assert visibility, enablement, and element state |
3.TableVerifications.ts |
Validate rows, columns, headers, pagination |
4.Label_Text_Placeholder_ValueVerifications.ts |
Check form labels, values, placeholders |
5.Button_Dialog_Interactions.ts |
Handle modals, confirms, alerts, and buttons |
6.List_View_Assertions.ts |
Smart list view interactions |
7.PageAndNavigation.ts |
Utilities for reloads, waits, and page control |
8.Table_Interaction_CellRetrieval.ts |
Read and interact with specific cell values |
9.Multi-select_Dropdown.ts |
Select, deselect, and validate dropdowns |
10.Generic_Helpers.ts |
Scrolling, stabilization, retry helpers |
11.Input_TextHandling.ts |
Smart typing and clearing strategies |
12.Validation_Assertions.ts |
Required fields, error messages, form errors |
13.login.ts |
Login workflows and protected area access |
14.Specialized_Modules_Scenarios.ts |
ERP and enterprise-specific UI logic |
// Search a table by a value in multiple columns
cy.verifySearchFunctionality('[data-test="search-box"]', [1, 2]);
// Conditionally get a cell value from a row
cy.getCellValueWhenCondition(3, 0, "Confirmed").then((val) => {
expect(val).to.include("Invoice");
});
// Validate form elements
cy.verifyLabelText('[data-test="email-label"]', "Email");
cy.verifyPlaceholder('[data-test="email-input"]', "Enter your email");
// Interact with PrimeNG-style dropdown
cy.selectAllStatusExceptPostFilter("status-dropdown", 3);
- ERP systems (Sales, HR, Finance, Inventory, etc.)
- Angular, React, Laravel Blade UI, or any table/form-heavy apps
- Projects using PrimeNG, Material UI, or Bootstrap
- All commands use safe timeouts, retry logic, and stability checks.
- Use alongside Cypress fixtures, aliases, and intercepts for max power.
- Works in JavaScript and TypeScript Cypress setups.
- Zero conflicts: placed under
support/enterprise-commands/
and won't override your custom files.
- Cypress reusable custom commands
- Cypress PrimeNG dropdown/table helpers
- Cypress ERP test automation library
- Angular UI Cypress commands
- Cypress enterprise testing toolkit
- Cypress component interaction helpers
We welcome your ideas, fixes, and new commands!
- Fork the repo
- Add your features or fixes
- Submit a pull request with description
Apache-2.0 — Free for commercial and personal use.
Mohamed Said QA Automation Architect | Cypress Mentor 🔗 LinkedIn 🔗 GitHub 🔗 Medium
⭐ If this package helped you, give it a star and share with your team!
Test smarter. Automate faster. Scale confidently — with cypress-enterprise-commands
.