Designing the framework is very important part of any automation project. No matter what automation testing tools you are using, some design principles are common and used widely for development of the frameworks.
You can develop framework using below approaches.
- Data driven
- Keyword driven
- BDD like cucumber, Jbehave
- Page object models
- Page factory models
Understanding your application testing is very important before you select your framework type.