TAF is an automation framework api with some in-built features that provides solutions to some common automation problems. It consists of an Enhanced Page Object Model and a Plug-n-play Keyword driven model of Automation. It helps in easy maintenance of your test code and makes them more readable.
While developing web automation frameworks there are a lot of common problems that is faced by every automation engineer. These common problems include:
- Managing and storing locators :-
TAF solves this issue by enhancing the Page Object Factory implementation of Selenium to allow users to store locators in a file rather than a Java file. Usage of Page Object Factory implementation also helps in making the tests more readable and easy write.
Hover here to see the difference
- Developing and Running a Keyword driven framework :-
TAF have an in-built plug-n-play keyword driven framework. Users can simply define their keywords in a single/multiple class files and add it to a TAF's property file. Once done users are good to go ahead and define their keyword based test and test-suite files ( excel or csv). These test-suite files can then be executed using the DataDriven feature of TestNG using the internal utilities provided by the framework.
- Reporting in a Keyword Driven Framework:
While implementing a Keyword driven framework the common problem is Test execution reporting. Majority automation engineers implement their own execution and reporting framework to solve this issue. This increases complexity of the framework and hence affecting the scalability. TAF customizes the reporting of the TestNG and the execution reports contains the actual test description of the test mentioned in the test-suite rather than some method name.
Hover here to see a sample report
- Driver Initialization and management:-
Most of the frameworks have to handle the driver initialization and its management which may bring some complexity into execution if not properly handled. TAF have an inbuilt driver management which will provide following features:-
- Default driver creation based on the provided driver name ex. firefox , chrome , ie , etc.
- Flexibility to define custom driver creation and easy plugging it into the framework.
- Multi-threaded/Non-multithreaded driver management.
- Parsing/Reading different files for your DataDriven tests:-
Every automation engineer face this issue of fetching data from different input source like csv, excel and other data sources for their Data-driven tests. Open file, look for applicable data, iterate over data and then create a single data object to be given as input your tests. TAF comes with a utility which will parse the file and give in return List of class objects containing the data for use of single iteration.
Hover here to see an example
- Implementing Page Object Model:-
As we all know Page Object Model is a very good model when the application is big and we have huge number of test-cases. The model helps in easily managing our utility code and in writing tests, but still there are few things that are good to have features in Page Object Model. Few of the things that TAF felt are good to have are:-
- A "to" method which will navigate your browser to specified page and verify that the page is loaded.
- A "at" verification method which will verify that the browser is on a said Page.
- A explicit wait utility method which will wait until a specified page is loaded when you take an action on a page.
- Utilities to read Excel or CSV files:-
Many of the automation frameworks uses excel or csv file for storing your test data. To read these files different utilities have to written and developed. TAF comes with inbuilt utilities to read Excel and CSV files.
The above utils solves lot of issues commonly faced while doing web automation. To know more details of the above features please click on the link shown under the navigation section.