DataRepo:
This holds data. A standard tool like XL or MDB to hold test data and allowing enough flexibility to manipulate and modify data effectively. This tool / component will typically contain a list of test cases and the test data to be fed to the test case.
ActionLibrary:
Also understood as functional keywords. All possible actions for a page in the AUT are captured in the form of functions. These functions can be called in the form of test steps.
CommonLibrary:
Library of functions which make the code modular and reusable. This will typically contain following set of common technical functionalities:
1. Data access
2. Logging
3. File handling
4. Time handling
5. Test Result Prepare & Publish
ObjectRepo:
This is a repository to hold information about the objects which are part of the test application. Using this information the test script identifies the object to perform action on it.
Driver:
This is a common script which ties / glues all the components described above. As a typical flow, driver script will do the following:
1. Get the test case details (name, test data, etc) from DataRepo
2. Based on the test steps it decides which functions to call and pass what test data to it
3. Each function call tries to identify an object using the attributes available from the ObjectRepo to perform action around it.