πŸš€ Cypress Enterprise Commands

June 20, 2025 Β· View on GitHub

npm
Cypress
TypeScript

βœ… A complete, production-ready library of reusable Cypress custom commands for enterprise web applications β€” ideal for Angular, PrimeNG, React, Laravel, and complex UI frameworks.


🎯 Purpose

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.

πŸ“¦ Installation

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 your cypress/support/index.ts.


πŸ“‚ Directory Structure (After Installation)

cypress/
β”œβ”€β”€ support/
β”‚   β”œβ”€β”€ enterprise-commands/
β”‚   β”‚   β”œβ”€β”€ 1.Search_Filter_Verifications.ts
β”‚   β”‚   β”œβ”€β”€ 2.Element_Visibility_StateChecks.ts
β”‚   β”‚   β”œβ”€β”€ ...
β”‚   └── index.ts  <-- Automatically updated to import all commands

βš™οΈ Setup in package.json (Optional)

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"
}

βœ… What’s Included?

🧩 80+ fully typed custom commands, organized in 14 modules:

πŸ“ FileπŸ”Ž Purpose
1.Search_Filter_Verifications.tsTable search field testing & filtering validations
2.Element_Visibility_StateChecks.tsAssert visibility, enablement, and element state
3.TableVerifications.tsValidate rows, columns, headers, pagination
4.Label_Text_Placeholder_ValueVerifications.tsCheck form labels, values, placeholders
5.Button_Dialog_Interactions.tsHandle modals, confirms, alerts, and buttons
6.List_View_Assertions.tsSmart list view interactions
7.PageAndNavigation.tsUtilities for reloads, waits, and page control
8.Table_Interaction_CellRetrieval.tsRead and interact with specific cell values
9.Multi-select_Dropdown.tsSelect, deselect, and validate dropdowns
10.Generic_Helpers.tsScrolling, stabilization, retry helpers
11.Input_TextHandling.tsSmart typing and clearing strategies
12.Validation_Assertions.tsRequired fields, error messages, form errors
13.login.tsLogin workflows and protected area access
14.Specialized_Modules_Scenarios.tsERP and enterprise-specific UI logic

πŸ§ͺ Example Usages

// 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);

πŸ’Ό Best Fit For:

  • 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

πŸ’‘ Pro Tips & Best Practices

  • 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.

🌍 SEO Keywords (for discoverability)

  • 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

🀝 Contributing

We welcome your ideas, fixes, and new commands!

  1. Fork the repo
  2. Add your features or fixes
  3. Submit a pull request with description

πŸ›‘ License

Apache-2.0 β€” Free for commercial and personal use.


πŸ‘¨β€πŸ’» Author

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.