Nikhil Bhandari and Kapil Bhalla, Intuit
Amid nails, nuts and bolts, the hammer is not enough.
TeKila is an aggregation of several Open Source powers – Google Web Driver, HTML Unit, Fitnesse, TestNG and Selenium. It offers a tool kit to test Web Application at different levels and in modes.
Often, the search for a silver bullet tool for automating ends in a compromise. In demanding times when everything is changing rapidly, speed and flexibility cannot be compromised.
The ever-rising burden of releasing features fast, with high levels of quality, punctuality and performance, demands automation. The task of writing a test automation framework, which does more than UI testing for rapidly growing web-based applications, is challenging. Many find it tormenting, some attempt it and only a few succeed.
A bridal suit has to be stitched; ones in the market would just not fit. Similarly, along with creative ideas and innovative approaches, engines of automation frameworks for projects need to be powered with multiple cylinders. There are numerous tools available for use; this introduces a new paradox – the paradox of choice – what to choose, from where to choose, how to choose, etc are questions everyone needs answers for.
A few of the many challenges are:
- Several Web Technologies being used (HTML, Java Script, AJAX, Flex)
- Multiple Browsers
- Multiple Operating Systems
- Multiple stages of testing
In our attempt of combating automation we came up with TeKila. TeKila is an aggregation of the best of various Open Source Powers enabling us to do:
- UI testing on multiple browsers and Operating Systems
- Business Logic layer testing using APIs
- Flex based UI testing
- Profiling data (like page load time, first/last request, http timing, status, etc)
- Integration with continuous integration build system with different Test Suits classes
What did we achieve through TeKila:
- Structured testing effort
- Multiple team members to contribute in automation
- Leverage work done by others
Separation of concerns:
- Test code
- Web Page Objects
- Suite Formations
- Loose Test-Tool Coupling