segment-pixel
For the best experience, try the new Microsoft Edge browser recommended by Microsoft (version 87 or above) or switch to another browser � Google Chrome / Firefox / Safari
OK
brand-elementsbrand-elements brand-elements brand-elements
brand-elementsbrand-elements

As testing requirements increase in cloud environments, automation becomes a need than a choice. Test automation enables engineering teams to improve execution efficiency, increases testing speed and faster time-to-market of product releases. SoapUI tool is one of the popular test automation tools used by experts to build a robust test automation framework. In this blog, we explore the best possible way to install and integrate SoapUI for building a test automation framework. We will also learn about the third-party reporting tools to create improved test reports after the integration. 

Before diving deep into SoapUI tool, let’s go through the basics of web services and API (Application Programming Interface). Now a days, most of the applications use web services or API to communicate between applications. APIs are more reliable, robust, secure and fast. Web service is a standardized way of communicating between a client and a server program using web protocols. Also, API does the streaming of operations.

Web services are a combination of states and protocols that assist us to validate request/response. With them, requests and responses can be transmitted forward and backward in a consistent way.

Why is There a Need to Test API Web Services/API?

As cloud computing continues to grow, APIs are needed for the interface and integration of one or more applications together on the web. API test automation helps reveal integration issues across the entire services or systems thus saving troubleshooting time and effort.  

If any API fails due to any error, then not only does the single application fail but the entire dependant chain of applications will get affected. So, API should be tested before deployment in production or live scenarios.

Challenges of API Testing

The testing team faces several challenges while testing APIs like,

  • Initial Setup of API Testing, updating the schema of API testing
  • Testing parameter combination, validating parameters 
  • Sequencing the API calls and tracking system integration
  • There is no GUI for API 

To get the whole picture right away and accordingly, take immediate actions to apply fixes to the failures, you need tools which are capable of API testing. There are many automation tools available in the market for API testing. Most popular tools are SoapUI and Rest API.

Using SOAPUI Tool for API Testing

This tool is provided by, SoapUI org. You can get a free or licensed copy as per requirement.

SoapUI is the widely used Functional Testing tool for SOAP and REST API testing. With its easy-to-use graphical interface, and enterprise-class features, SoapUI allows you to rapidly create and execute automated functional, regression, and load test suite.

SOAP stands for Simple Object Access Protocol. It is an XML-based protocol for accessing web services. SOAP is used for communication between two applications. It is platform independent and language independent. By using SOAP, you will be able to interact with other programming language applications. SoapUI tool is testing tool for testing web services. It helps us to maintain framework and test suite of web services.  

To validate any web service, you need WSDL (Web Services Description Language) file of project which is written in the XML format to access all the operations of that web service.

What’s an Automation Framework?

Automation Framework is not a single tool or process, but it is a collection of tools and processes working together to support automated testing of any application or APIs. It integrates a variety of tasks, such as libraries/utilities, reusable modules/methods and other kinds of test data.

Benefits-Test-Automation-Framework-Xoriant

Designing a Test Automation Framework:

The automation framework design is useful when there’s a need to run regression test suite or repeat test execution and to validate report. Let’s start building automation framework for API testing with SoapUI Tool.

  • First install SoapUI tool from soapui.org

Install SoapUI tool - Xoriant

  • Create New Soap Project & import the WSDL file path of your project and click on OK.

Create SoapUI Project - Xoriant

  • Once the project is created successfully with WSDL, you will get all requests of your project imported from the WSDL file.

Getting Requests - SoapUI - Xoriant

  • Click on any request to check request details 

Get Request Details - Xoriant

  • To create Test Suite right click on project service and click on generate test suite (e.g. in the above image, services are CalculatorSoap or CalculatorSoap12 – both having same requests, just CalculatorSoap12 is upgraded version)

Generate Test Suite - Xoraint

Test Suite - Xoriant

  • In this created TestSuite, you will get each test case with test-step for each request.

Test Case - Test Step - Suite

  • Here in test cases you can see teststep where you can set input. Once input is set, you can execute this testcase and validate response.

Test Case - Test Step - Request Details - Xoriant

  • For testcases, you can add multiple test steps, groovy script and JDBC request as well.

Add GroovyScript - Xoriant

  • Here your Project setup is ready with your testcases and testsuite.

Properties in SoapUI

Using Properties, you can set testdata outside request as local or global property and then, fetch this property in your request. Properties can be set at various levels like 
Project level, Testsuite Level, Testcase level and teststep level. Also, you can read testdata from eternal files like excel and properties file.

Properties in SoapUI - Xoriant

Below image describe the Framework structure having multiple testcases:

Framework Structure Multiple Requests - Xoriant

Project Explorer 

Once we set up our framework, this project is ready to integrate with TestNG/JUnit.

Next, let’s look at SOAP Project integration with TestNG, a process which is similar to integration with JUnit.

SOAP Project Integration with TestNG in Eclipse:

  • To integrate your SOAP Project with TestNG, you need to install testNG plugin from eclipse marketplace.
  • Then, create simple java project and create a Runner java class (eg. SoapRunner.java).
  • In Runner class, first you need to set your SOAP Project path using object of wsdlProject
  • Copy all SoapUI jar from lib and bin folder of SoapUI installed path and add in to eclipse build path as external library jar
  • Now add your testcases using @Test annotation. (note: you can set priority for test execution)
  • And final step is run TestNG. Xml to execute your all testcases of Runner class

Here you can see the SoapUI TestNG Project integration in Eclipse:

SoapUI TestNG Project integration in Eclipse

TestNG - XML

Console Output on Eclipse Editor:

Console

SoapUI: Extent and CSV Report generation

After successful framework design and integration, we can generate Reports to format our testcases result in a more presentable format.

For reporting, many third-party tools are available. Here will see with 2 methods,
1. Extent Report
2. CSV/Excel Report

Extent Report: To generate Extent report in SoapUI you need to add report code script in teardown script of your project.
     
And you will get Extent HTML report as shown below:

Extent HTML Report

HTML Report

CSV Report: To generate CSV report, you need to write one script and execute it from teardown script. Then, you will get CSV report in the below format:

CSV Report - Xoriant

Advantages of Soap UI Tool 

SoapUI

Check out our related PDF: XMEF


Want to discuss test automation using SoapUI?

Speak with Xoriant QA Experts

Get Started

Your Information

1 + 14 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Your Information

7 + 10 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Your Information

4 + 16 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.
Globally Presence
Across Americas, Europe, and Asia
All Locations
Asia
Europe
North America
global-map
16 Locations
6
8
2
asia-map
8 Locations
map-pin
Singapore
70 Shenton Way,
#13-03,
Eon Shenton,
Singapore 079118
map-pin
Gurugram
5th Floor, Tower B,
Golf View Corporate Towers,
Sector 42, Golf Course Road,
Gurugram- 122002
map-pin
Hyderabad
5th Floor, Smartworks, Block 3, DLF Cybercity, Survey No. 129 to 132,
Gachibowli Village, Serilingampally, (M) Ranga Reddy District,
Hyderabad, Telangana 500032
map-pin
Bengaluru
3rd Floor, Karle Town, Building No. 5
Nagavara Village Kasaba Hobli,
Banglore North,
Bengaluru, Karnataka 560045
map-pin
Chennai
8th Floor, Smartworks,
Olympia National Tower
Block 3, A3 and A4, North Phase,
Guindy Industrial Estate, Chennai 600032
map-pin
Pune
Smartworks 43 EQ, 14th-15th Floor,
Sai Chowk Road,
Opposite Bharati Vidyapeeth School,
Laxman Nagar, Balewadi Pune,
Maharashtra 411045
map-pin
Mumbai - Thane
8th Floor, 315 Work Avenue,
Ekatva Olethia Building,
Opposite Ashar IT Main Gate,
Wagle Industrial Estate,
Thane West, 400604
map-pin
Mumbai
7th Floor, Redbrick,
Oberoi Commerz-1
Oberoi Garden City,
Goregaon East 400063
europe-map
2 Locations
map-pin
Ireland
Grove, Fethard,
Co. Tipperary,
E91 E282, Dublin, Ireland
map-pin
London
c/o SPACES,
12 Hammersmith Grove,
London W67AP, UK
north-america-map
6 Locations
map-pin
Canada
55 York Street, Suite 401
Toronto, ON,
Canada M5J 1R7
map-pin
Mexico
Tomas A. Edison 1510-201
Ciudad Juárez,
Chihuahua, Mexico 32300
map-pin
Dallas
5800 Granite Parkway,
Suite 480
Plano, TX, 75024
map-pin
Troy
6915 Rochester Road
Suite 300
Troy, MI 48085
map-pin
Sunnyvale
1248 Reamwood Avenue
Sunnyvale, CA 94089
map-pin
New Jersey
343 Thornall Street
Suite 720
Edison, NJ 08837
All Locations
global-map
16 Locations
6
8
2
asia-map
8 Locations
map-pin
Singapore
70 Shenton Way,
#13-03,
Eon Shenton,
Singapore 079118
map-pin
Gurugram
5th Floor, Tower B,
Golf View Corporate Towers,
Sector 42, Golf Course Road,
Gurugram- 122002
map-pin
Hyderabad
5th Floor, Smartworks, Block 3, DLF Cybercity, Survey No. 129 to 132,
Gachibowli Village, Serilingampally, (M) Ranga Reddy District,
Hyderabad, Telangana 500032
map-pin
Bengaluru
3rd Floor, Karle Town, Building No. 5
Nagavara Village Kasaba Hobli,
Banglore North,
Bengaluru, Karnataka 560045
map-pin
Chennai
8th Floor, Smartworks,
Olympia National Tower
Block 3, A3 and A4, North Phase,
Guindy Industrial Estate, Chennai 600032
map-pin
Pune
Smartworks 43 EQ, 14th-15th Floor,
Sai Chowk Road,
Opposite Bharati Vidyapeeth School,
Laxman Nagar, Balewadi Pune,
Maharashtra 411045
map-pin
Mumbai - Thane
8th Floor, 315 Work Avenue,
Ekatva Olethia Building,
Opposite Ashar IT Main Gate,
Wagle Industrial Estate,
Thane West, 400604
map-pin
Mumbai
7th Floor, Redbrick,
Oberoi Commerz-1
Oberoi Garden City,
Goregaon East 400063
europe-map
2 Locations
map-pin
Ireland
Grove, Fethard,
Co. Tipperary,
E91 E282, Dublin, Ireland
map-pin
London
c/o SPACES,
12 Hammersmith Grove,
London W67AP, UK
north-america-map
6 Locations
map-pin
Canada
55 York Street, Suite 401
Toronto, ON,
Canada M5J 1R7
map-pin
Mexico
Tomas A. Edison 1510-201
Ciudad Juárez,
Chihuahua, Mexico 32300
map-pin
Dallas
5800 Granite Parkway,
Suite 480
Plano, TX, 75024
map-pin
Troy
6915 Rochester Road
Suite 300
Troy, MI 48085
map-pin
Sunnyvale
1248 Reamwood Avenue
Sunnyvale, CA 94089
map-pin
New Jersey
343 Thornall Street
Suite 720
Edison, NJ 08837