Selenium: Frequently used APIs

All selenium WebDriver jar files are available in the form of APIs.

What is API:

An application programming interface (API) is a computing interface that defines interactions between multiple software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow, etc. It can also provide extension mechanisms so that users can extend existing functionality in various ways and to varying degrees. An API can be entirely custom, specific to a component, or it can be designed based on an industry-standard to ensure interoperability. Through information hiding, API s enable modular programming, which allows users to use the interface independently of the implementation.

How to use the APIs in selenium WebDriver:

You will find two approaches to use the APIs in the selenium WebDriver. First one,is to use the jar files and second is to call the dependency in your pom.xml page.

Below are the detailed steps to use the APIs in selenium WebDriver:

  1. Using jar files: This is the first approach.

Go to link Download the required jar files from here and add these jar files to your project. Below is a screenshot showing how to get the specified jar files for importing into your project.

Jar files

2. Adding dependency to your pom.xml: This is the second approach.

Step 01: Go to maven repository or click on the below link.

Step 02: Search the necessary APIs which you want to use in your project.

Step 03: Once you get the required APIs just click on specific API.

Step 04: Click on the latest version of API.Copy the dependency which you can see and paste in your POM.xml page.

Frequently used APIs in selenium WebDriver:

Below is the list of APIs you can find in selenium WebDriver.

  1. Excel Reader utility -APACHE POI
  2. Log4J API
  3. JavaMail API

1. Excel Reader utility -APACHE POI 4.1.0

This API is used to read, write, and perform different operations in the excel file.

To work with these APIs, you need to go to the maven repository ( and download the specified jar files or copy the dependency and paste it into your maven project (inside the pom.xml).

Below is the utility for Excel Reader. Using this utility, you can perform excel operations, for example: read data, write data, counting rows and columns.

//Create your work book       

            public ExcelReader(String path) {


                        try {

                                    fis = new FileInputStream(path);

                                    workbook = new XSSFWorkbook(fis);

                                    sheet = workbook.getSheetAt(0);


                        } catch (Exception e) {




// returns the row count in a sheet

            public int getRowCount(String sheetName){

                        int index = workbook.getSheetIndex(sheetName);


                                    return 0;


                        sheet = workbook.getSheetAt(index);

                        int number=sheet.getLastRowNum()+1;

                        return number;



2. Log4J API: Working with Selenium or Appium you will find 2 kinds of logs. One is application log, which are user-defined logs and other one is selenium log,which are related to server log or selenium response log. The selenium log you can create when you have the version called X and 3.x, If you are using the latest API version, you would not able to generate the selenium logs, only you can generate application logs.Log4J configuration is very simple and you can configure it very easily. It has two APIs: Log4J 1 and Log4J 2.Compare to Log4J 2, Log4J1 has very good features and you will find it very comfortable and flexible. The first prerequisite is to add the dependency to your POM.xml file or add the jar file to your project. Once the dependency is added to your project, the log file will be auto generated.Then you need to call the class called logger.

Steps to configure Log4J:

Step 01: Go to maven repository -

Step 02: Download the Log4J jar file or copy the dependency from the repository.

Step 03: You can configure it through XML or properties file, here I am using the properties file for configuring Log4j.

Step 04: Go to your eclipse project, click on the src/main/resource and create a new folder called properties and create a new file with

Search the web

Step 05: Below is the Log4J properties file.

Properties file

You can find a different log level for example Debug, info, error, etc.Here I have chosen the highest level as INFO. Fileappender used to append logs in a file and also you can use the console appender, which will add the logs in a console.

Below is the properties file of Log4J and details explanation of it:

log4j.rootLogger=INFO, Appender


//below log is used to generate the log file at exact location where you want place your log file.


//Pattern layout is used to add the current timestamp


log4j.appender.Appender.layout.ConversionPattern=%-7p %d [%t] %c %x – %m%n

//When you write append = false means it will generate the fresh log everytime,the file will be overriden .When you make it true the log file will generate in same file.


//5000KB is the maximum size limit if it is exceed that,there will be BackupIndexupto 3 backupindex logs files will be generating.



How to initiate/create Logs:

Step 01: Go to your utility folder, right-click on the folder and create a new class.

Step 02: Below is the log class:

public class TestLogs {

            public static Logger log = Logger.getLogger(TestLogs.class.getName());

            public static void main(String[] args) {

                        Date d = new Date();

                        System.out.println(d.toString().replace(“:”, “_”).replace(” “, “_”));

                        System.setProperty(“”, d.toString().replace(“:”, “_”).replace(” “, “_”));

//give the log properties file path                  PropertyConfigurator.configure(“./src/test/resources/properties/”);

              “This is the information log”);

                        log.error(“Here the error logs will be printed”);



Step 03:Once you refresh the project, your log file will generate.

3. JavaMail API: JavaMail API is a third-party API. This is used to send an automated email.

Below are the detailed steps to use JavaMail API in selenium WebDriver .

Step 01: First prerequisite to use JavaMail API is to add the jar files to your project or to add the dependency to your pom.xml.

Step 02: Create a class called MonitoringMail for send a mail.

Below is the function for send an email:You have to provide mail server, from details,username,password,port name,subject of your email,message body of your email,attachment path and finally name of the attachment.

public class MonitoringMail


            //public static void sendMail(String mailServer, String from,String username, String password,String port, String[] to, String subject, String messageBody, String attachmentPath, String attachmentName) throws MessagingException, AddressException

            public void sendMail(String mailServer, String from, String[] to, String subject, String messageBody) throws MessagingException, AddressException


                        boolean debug = false;

                        Properties props = new Properties();

                        props.put(“mail.smtp.starttls.enable”, “true”);


                        props.put(“mail.smtp.auth”, “true”);

                        props.put(“”, mailServer);

                        props.put(“mail.debug”, “true”);

            props.setProperty(“mail.smtp.socketFactory.class”, “”);  

            props.setProperty(“mail.smtp.socketFactory.fallback”, “false”);  

            props.setProperty(“mail.smtp.port”, “465”);  

            props.setProperty(“mail.smtp.socketFactory.port”, “465”);

                          Authenticator auth = new SMTPAuthenticator();

                            Session session = Session.getDefaultInstance(props, auth);



4. JDBC Connection: This API helps to connect the database and writing queries and validating the results. You will find a different vendor to perform a JDBC connection for example MYSQL,SQL,MongoDB, etc.

Below are the steps to use JDBC Connection API:

Step 01: Go to Maven repository and search the required database to your project.

Step 02: Download the jar files or copy the dependency and paste it in your POM.XML.

Step 03:In order to make a JDBC connection,you should have the url,username and password to connect with a database.

Url- Database server url(e.g.ip:port/dbname,

Step 04: Click on this link and download the mysql server. You will get setup file. Install it and it will ask you to provide the password. Provide the new password. Default user name is root.If you want to change, you can change it and continue the installation process.

Step 05: Open command prompt,enter the passwordwhich you had created earlier during installation. You will connect to database.

Step 06: Create a database and table.

Step 07: For database connection you will get one class called Driver Connection and you have to provide database name before which we used as a url, user name and password.Before the driver connection class you need to register the JDBC driver.

Below is the code for connecting JDBC:


                        con =DriverManager.getConnection(TestConfig.dbConnectionUrl, TestConfig.dbUserName, TestConfig.dbPassword);

Step 08:Go to your project utility and create a java class called DbManager. Below is the functionality for Db manager utility.

//Initializing the driver manager to get database connection.



                        con =   DriverManager.getConnection(TestConfig.dbConnectionUrl, TestConfig.dbUserName, TestConfig.dbPassword);



//Get your query based on your requirement.

            public static List<String>getQuery(String query) throws SQLException{

                        //String Query=”select top 10* from ev_call”;

                        Statement St = con.createStatement();

                        ResultSetrs = St.executeQuery(query);

                        List<String> values = new ArrayList<String>();




Step 09: If you want to setup a database connection,create new class(TestDBConn) and you have to call DbManager.setMysqlDbConnection method in TestDBConn class. Once the database connection is established, write the query to fetch the results from database. Use getMySqlquery for mysql database and finally execute the TestDBConn.

Below is the code for TestDBConn class:

package testcases;

import java.sql.SQLException;

public class TestDBConn {

            public static void main(String[] args) throws ClassNotFoundException, SQLException {


                        System.out.println(DbManager.getMysqlQuery(“select tutorial_author from selenium where tutorial_id = 2”));



Leave a Reply

Retype the CAPTCHA code from the image
Change the CAPTCHA codeSpeak the CAPTCHA code

SOAIS - Worksoft Newsletter

To view on your browser, click here
Facebook Twitter LinkedIn
Dear Default Value,

Welcome to SOAIS Newsletter of September 2021!

Continuous Testing with Remote Execution
The speed of innovation continues to increase, driving rapid and relentless change for today’s ever-evolving IT landscapes, creating greater risk as IT and business teams scramble to ensure timely delivery. How can your organization keep pace? Test more, worry less. With Worksoft’s Connective Automation Platform, you can easily build and maintain automated tests, accelerating testing time without losing scope or volume. You can schedule and execute remote, continuous tests to intercept defects sooner and prioritize remediation - without sacrificing your nights and weekends. Explore how continuous test automation and remote execution can empower your organization.

Click here to connect with us to get more information on our services.

Skip Costly Rework with Dynamic Change Resiliency​

Change resiliency is imperative in ever-evolving IT environments. Our patented object action framework streamlines change management by assigning object definitions to your shared assets. The same object may be used in a thousand automation steps, but it can be easily updated by making one simple change to the model definition. The change automatically propagates to every single instance where that object may have been used without a single line of code or manual human involvement. For more change readiness you can also engage our Impact Analysis for SAP to predict how changes in SAP transports will affect your business processes. 

Please click here to watch the video to get a gist.

SOAIS Blog – Nuts and bolts of Certify Database Maintenance​

One of the key thing, which is often missed by the organizations, who have invested in using Worksoft Certify for automating their Business Process Validation initiatives, is implementing a Database Maintenance Plan. While the business and the test automation consultants get excited about the shiny new thing that they have got and start building the regression suite; planning and executing a database maintenance plan for most of the customers gets pushed down the priority list. However, since all the test assets in Certify are stored in a Database, a robust database maintenance plan is very important to maintain smooth operation of Certify with acceptable performance criteria. The customers usually start facing issues once they have built significant number of Certify processes which they have started executing on regular basis. Such executions add a lot of data to the tables storing results data and increase the overall size of the Certify database.

Please click here to read the complete blog.

Worksoft Blog – Process Intelligence: A Multi-Dimensional Approach

The ability to extract process knowledge has become easier through the years. Technology has evolved to the point where we can deploy capabilities that connect at multiple levels to extract different types of process insight. In the past, organizations were forced to spend enormous energy extracting data manually from different applications and databases. Then, they would have to use things like spreadsheets to transform the data and convert it into meaningful information. 

Please click here and read the complete blog.
Unit 9, Level 5, Navigator, ITPL,
Bangalore - 560 066.
Phone: +91 80 40071234
Suite 101, 1979, N Mill St,
Naperville, IL 60563
Phone 1-800-262-2427
Please click here to Unsubscribe / Unsubscribe Preferences

Leave us your info