This testing framework is built on Cypress, designed to allow efficient and rapid test creation. The goal is to leverage Cypress as a foundational layer for interacting with the web UI, on top of which a structured, fluent API has been developed. This approach enables quick onboarding and minimizes the learning curve, empowering less specialized team members, like manual testers, to create and maintain tests. Meanwhile, highly skilled resources, such as developers and automation engineers, can focus on designing Accessor and Page components and building essential tools for test creators.
Framework provides an intuitive API that allows quick and straightforward test development, even for users with minimal programming experience. This approach aims to lower the cost of maintaining test automation by enabling a broader range of team members to contribute.
Accessors are core components that abstract UI interactions. Each Accessor provides utility methods for identifying elements and performing operations. For example, ButtonAccessor can verify a button’s enabled/disabled status, or click on it.
Pages in the framework represent distinct application pages and group relevant Accessors, such as input fields, buttons, and selectors, for easy interaction within tests. This structure also supports handling URL navigation and page-specific wait mechanisms, ensuring test reliability.
The framework is extensible, allowing developers to create new Accessors and page definitions as application needs evolve. For example, Accessors can be easily customized for components like dropdowns, checkboxes, and complex forms.
The framework also includes database handler with support for connecting to and utilizing multiple databases. This flexibility is particularly valuable in a microservices architecture, where interacting with several databases is often essential for comprehensive testing. By managing multiple database connections, the framework effectively supports the needs of modern, distributed systems.