There are way too many and it's difficult to choose though I have my requirements. Here are some things that you can consider, that might help you out:
- Modular: The framework should be adaptable to change.
- Reusable – The commonly used methods or utilities should be kept in a common file which is easily accessible to all the scripts.
- Consistent – The test suite should be written in a consistent format by following the coding practices.
- Independent – The test scripts should be written in such a way that they are independent of each other.
- Logging – It is good to have implemented the logging feature in the framework.
- Reporting – Once the scripting is done, we can have the results and reports sent via email.
- Integration – Automation framework should be such that it is easy to integrate with other applications