triangle
arrow
How To Automate API's Testing With Selenium Webdriver?

27-Sep-2017

By Ashish Sethi

How To Automate API's Testing With Selenium Webdriver?

An application programming interface(API) consists of a set of standards and programming instructions for accessing a Web tool or Web-based software application. The Application Program interface is a set of protocols, routines and tools required for building software applications. An API specifies the way in which the software components should interact. Additionally, APIs are used when the graphical user interface(GUI) components are to be programmed. A good API provides all the building blocks and makes it easier to develop a program. A programmer puts all the building blocks together.

Different types of APIs are available for operating systems, applications or websites. For example, ‘Windows’ has many API sets that are being used by the system hardware and applications i.e. when users copy and paste text from one application to another, it is the API that makes it work. Most of the operating environments, such as MS-Windows also provides APIs which allows the programmers to write applications that are consistent with the operating environment. Today, the websites also specify the APIs. For example, with the help of Amazon or eBay APIs, developers can create specialized web stores by using the existing retail infrastructure. Third-party software developers can also use Web APIs so as to create software solutions for the end-users.

An API is not a user interface but a software-to-software interface. With APIs, applications are allowed to communicate with each other without any user intervention. When you buy movie tickets online and enter your credit card information, Web site makes use of an API to send your credit card information to a remote application that verifies whether your information is correct or not. Once the payment gets confirmed, the remote application sends back a response to the Web site notifying that it is 'OK' to issue the tickets.

Introduction to Selenium WebDriver:

WebDriver is one of the most powerful and popular tools of the Selenium toolkit. WebDriver is an extended version to Selenium RC with surplus advantages and it overcomes many of its limitations. Unlike Selenium IDE, WebDriver provides support to many latest browsers and platforms. In the case of WebDriver, the selenium server isn’t required to be started prior to the test scripts execution, unlike Selenium RC. Selenium 2.0 is an aggregation of Selenium RC with WebDriver API. Selenium was developed so as to support dynamic web pages and Ajax calls. It also supports various drivers to perform web-based mobile app testing.

Selenium WebDriver Framework for API Testing

IT enterprises globally are implementing various automation solutions in order to provide effective and efficient software testing services. New and innovative approaches have been developed for test automation utilizing the Selenium framework, thereby helping the enterprises to improve their service quality and thereby reducing the costs. Keeping this in mind, the Selenium framework has been developed as it helps the testing teams to automate the validations of URL based APIs.

Selenium Based Automation Regression Suite:

Selenium framework is a data-driven solution that consists of i) Java-based Driver scripts ii) Frameworks methods created as per method types of APIs.

Suggested Read: Selenide Vs. Selenium

Benefits of Selenium Framework

1. Selenium framework takes considerably less time to prepare test data or to validate each scenario in comparison to manual testing.

2. For the preparation of the data and to validate 350 scenarios, it takes approximately 7 man-days per resource. However, with the implementation of the selenium framework, the time gets reduced to 1.5 hours (approximately).

3. It is easy to develop the Selenium framework and the test cases can be maintained effortlessly.

4. It is possible to integrate the Selenium framework with Continuous Integration(CI) build deployment process.

Example:

public static String PostRequest(String PostRequestURL,String Parameters) throws

Throwable {

String responseData="";

System.setProperty("http.proxyHost", "Proxy server IP");  // Enter your proxy name here

System.setProperty("http.proxyPort", "Proxy server port");

HttpPost POSTrequest = new HttpPost(PostRequestURL);

StringEntity param =new StringEntity(Parameters);

POSTrequest.addHeader("content-type","application/json");

POSTrequest.setEntity(param);

HttpResponse response = httpClient.execute(POSTrequest);

BufferedReader  rd = new BufferedReader(newInputStreamReader(response.getEntity().getContent()));

int statuscode=response.getStatusLine().getStatusCode();

Assert.assertTrue(statuscode==200, "Failed : HTTP error code :"+statuscode);

responseData=rd.readLine();

System.out.println("output is =" +responseData);

return responseData;

}

Selenium framework simplifies API validation by building the test cases. The same can be leveraged for a selenium driven automation engine to validate and update the test execution results.

Also Read: Case Study on Social Media Platform Testing Using Selenium WebDriver

author

Ashish Sethi

works as QA Engineer at BugRaptors. He has good experience in manual testing, web application testing, mobile application testing, regression testing, smoke testing, sanity testing, and database testing (Back-End). Also he is able to create required documents for testing like test case checklists, time estimation required for the new projects etc.

Most Popular

Tech Talks With Benjamin Bischoff

16-Aug-2023 Tech Talks With Benjamin Bischoff
Read more

User Acceptance Testing: Unleashing The Power Of User Feedback

08-Aug-2023 User Acceptance Testing: Unleashing The Power Of User Feedback
Read more

Tech Talks With Marcel Veselka

03-Aug-2023 Tech Talks With Marcel Veselka
Read more

Interested to share your

QA Requirement!

Tags

  • api testing services
  • API Testing Approach
  • api testing selenium java
  • api testing using selenium java
  • selenium 2 api
  • selenium api testing
  • selenium webdriver api
  • Sign up for newsletter !


    Comments

    No comments yet! Why don't you be the first?
    Add a comment

    Join our community
    of 1000+ readers.

    To get the latest blogs and techniques on software testing & QA Industry.

    *By entering your email, you subscribe to receive marketing uplates from Bugraptors.You can unsubscribe at any time. For more info, read BugRaptors Privacy Policy.