Skip to content

Conversation

@talhil-rh
Copy link
Collaborator

@talhil-rh talhil-rh commented Jan 30, 2026

Hi guys,

I have redesigned the Cypress repo structure to be more robust and maintainable using the Page Object Model (POM) pattern.

What Changed:
Before: All test logic was in Cypress custom commands (commands.js), making it hard to maintain and reuse.
After: Introduced a views/ folder with dedicated page objects for each feature area.
New Structure
cypress/ e2e/ # Test specs support/ # Cypress-specific commands (login, downloadClifile) views/ # Page objects (NEW) ├── common.js # Shared utilities (navigation, org selection) ├── devicesPage.js # Device operations ├── fleetsPage.js # Fleet operations └── repositoriesPage.js # Repository operations

Benefits
Better organization - Each page/feature has its own file
Reusability - Common functions (like navigation) are shared via common.js
Easier maintenance - Changes to a page only affect one file
Cleaner tests - Tests are now simple and readable
Follows industry standards - Page Object Model is a widely adopted pattern for UI test automation

@talhil-rh
Copy link
Collaborator Author

cc @Samudelacruz77 @siserafin @mburman5

to understand better the change, please review also the description here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant