Review on Selenium WebDriver Implementation
30 January 2014 was a special day for me—my fellow QA colleague, Joel Johnson, and I, under the guidance of Rijo Baby Thomas, QA lead of Suyati Technologies, presented our first demonstration on Selenium Automation to a publishing client!
It doesn’t matter what domain you are working on—whether publishing, health care or banking—Automation Testing comes in handy in this fast paced world. But first, let me explain briefly what Selenium is. Selenium is a widely used open source tool, which helps to automate test cases. The demo I mentioned earlier was about automation of various similar imprints (actually, websites; 23 of them!).
The task for us was to automatically test all these imprints using Selenium WebDriver. So we used TestNG, in which, test cases can be grouped easily and reports are more organized. The details of all these imprints were read from an excel file, including the URL, element id, name, xpath and so on. So a common code for all the imprints would reduce the tedious work. The extra features we delivered were:-
- Cross browser testing
This is done to ensure browser compatibility. A single script is enough to run in different browsers provided that you add the corresponding external archives. Before that, make sure that you have got high speed net connection; else it is better to run separately.
- Parameterization (Data Driven Testing)
Instead of repeating the same test cases with different test data manually, we can input different test data into a field and run them automatically, thus saving a considerable amount of time. In our project, we again used excel for parameterization.
- Mail service of project reports
Instead of watching every test run, all you have to do is grab a cup of coffee in between the tests (or take a power nap if you’d like) and check your inbox for the test reports so that you can identify which all test cases have passed or failed.
The main problem we faced during the demo was that the loading of imprints were too slow, since the imprints were hosted in stage server. Moving this project to a separate server would increase the performance (as advised by the client). But this would be feasible at the advanced stage of this project.
At the end of the demo the client was quite happy with what we did and asked us to add more features to it, such as a scheduler, which helps to run all imprints at once, and checking of https of the URL since it involves card transactions. Currently this will be the only security testing we are doing for this project. Hopefully the next demo with the added features will come around the end of this month.
Until then, stay tuned. It’s Jaseem Latheef signing off!