Insights from Our Experts

Blog image

How parameterization helps you in test automation

Author Image

Binu Babu,QA Engineer

In a challenging business scenario, it is essential to implement an effective, resilient and reusable test automation framework, that eliminates manual errors, speeding up the process and makes the test a continuous process. Selenium Automation has emerged as the most sought-after test automation tool for multiple benefits. This framework helps to cut down the time to execute tests when the project is large. It is very strong, as it is compatible with almost all OS and can support multiple languages such as Java, Python, Ruby and more. 


Role of Parameterization

In the real world, we always wish that our system should work variantly with different sets of input data. Same scenario happens when it comes to Testing. We can't be unfair to test the application with just one set of data. We have to check that the application performs the same operations with multiple sets of data. Here comes "Parameterization" as a key role in automation testing. To pass multiple data to the application at runtime, we need to parameterize our test scripts. This concept achieved by parameterization is called Data Driven Testing. 

Parameterization[ Data driven test] is an execution strategy, which allows us to run a test case automatically, multiple times with different input values.This test design will let users read data from a storage, for example from a file or database, rather than using hard-coded values.


Parameterization Using Selenium Webdriver

Selenium Webdriver automation testing tool does not have any built-in structure or method to parameterize the test case. Parameterizing a test from external sources such as Microsoft Excel is always recommended in order to handle a large amount of test data. To read data from Excel using selenium webdriver, we need Java Excel APIs which support opening the file, reading and writing data into Excel. Jxl.jar is an open source Java API which supports this. For a demo, here we use Eclipse as IDE.
 

Eclipse Configuration 

  • Step 1: Download latest jxl.jar file, from here. And extract the zip folder and find jxl.jar file inside it. 
  • Step 2: To access the methods and classes provided by this API inside Eclipse we need to add this JAR file to the Java Build Path. Add jxl.jar in your project folder as an external jar. Right-click on your project folder in eclipse and go to Build Path -> Configure Buildpath-> Libraries tab -> Click on Add External JARs button and select jxl.jar.
  • Step 3: Create an Excel file named "Credential.xls" with the data in below format, with the required test data. In the excel sheet, rename the first sheet as “LoginCredential”.

  • Step 4: Include all the header files listed below. 

  • Step 5: Create a new Java class and copy the following code into it. Change the path of the excel file as per your project specification.


Summary

Parameterization is very essential and valuable test design for any automation testing tool. This allows you to replace the hard-coded input data with multiple data sets. It is advisable to keep data for automated tests in special storages, that support sequential access, for example, Excel sheets, database tables, arrays etc. This kind of test design helps QA engineers to make the testing process much easier and fast. Reusable, maintainable, and stable are some key characteristics that Selenium offers to the Test Automation world.Thus most of the QA experts recommend Selenium as the best automation tool for testing. So I would also prefer this!!!