15+ SoapUI Tutorials – Your Complete Guide to SoapUI – The Most Used Web Services Testing Tool

STH is coming up with another testing tool tutorial. You know how detailed and useful these are. The tool this time is: SoapUI, SoapUI Pro and all the way.

We suggest that our readers should start learning SoapUI – the most used web services API testing tool, with this SoapUI tutorials series.

Since this is a highly technical and a somewhat specialized form of testing we are talking about, it is important that we lay some ground work that will lead the way to easily mastering the concepts.

soapui tutorials

*******************

Here is what you will learn in this comprehensive SoapUI Tutorial series:

SoapUI Tutorials:

SoapUI Pro Tutorials:

*******************

In this process here in this tutorial, we are going to discuss web services in detail.

Nowadays web services play a major role in Internet applications. Let us now take some time for a brief introduction of the web services. For enhanced expertise in web services knowing HTML and XML mark up languages is important as the Web Services are created and implemented with via these languages.

What are Web Services?

Web services are web components that transfers data between client and server. Client sends a web request to the server and the server then responds to client. This response will differ based on the web service request type.

Web services in SoapUI:

SoapUI is designed for validating web services easily.

Let’s look at an example: A flight ticker booking application that runs in City 1 and is being accessed from City 2 to book a ticket. A user enters all the information such as boarding point, destination point, date of journey etc, and then as soon as the “Book Now” button is clicked, the web service from City 1 gets invoked and it passes all the information that is entered to the application server that processes the user request. The Reservation application will then send a response to the User’s request.

Most of the online payment transactions are processed through web services only because of the enhanced security this method offers. An input parameter will be sent to the payment gateway website and which would be processed subsequently. An acknowledgement will be sent to the client regarding payment status finally.

All these activities can be seen through SoapUI request and response screens. SoapUI helps us to evaluate these web services.

Now let’s see the important components of the web services. They are,

  • WSDL – Web Service Description Language
  • SOAP – Simple Object Access Protocol
  • UDDI – Universal Description, Discovery and Integration
  • RDF – Resource Description Framework

#1. WSDL (Web Services Description Language):

A WSDL is a document that should be written using XML. This document describes the following details about the web service:

  • Origin of the web service
  • Header information
  • Port type
  • Input and output messages

Each of the above information is represented as a tag in the WSDL file, such as:

  1. <types> – XML Schema data types
  2. <message> – the actual request and response data being communicated
  3. <portType> – the target / end points where the actual web service is hosted to perform the operation
  4. <binding>– the protocol information is given for the data format
  5. <definitions>– the parent tag for the above mentioned tags

Now let’s look at a sample WSDL file:

webservices 1

Your WSDL file should follow the W3C standard as above. Through web services we can convert into web based application. Web services are constructed on top of XML, HTTP, TCP / IP, Java, HTML and so on. Since web services are XML based language so that we can have these applications as local, distributed and web based environments.

Role of WSDL:

Validating web services using SoapUI is easy and is only possible with WSDL document because to configure web services in SoapUI, WSDL document is mandatory. If the WSDL document is not valid, SoapUI will throw an exception immediately. Now let us look at UDDI component.

#2. UDDI (Universal Description, Discovery and Integration):

This is a global repository where we can search the web services spread over the globe. In order to get or search web services just visit http://uddi.xml.org/ web site. Here you can also register your own web service and make it available to global users.

UDDI is the place where the WSDL is described in detail. This will communicate through the SOAP protocol which will be explored later in this tutorial. Say for example, if you wish to advertise your products to the global customers you could create a web service and host it through UDDI. This can now be accessed by global users and from there the business could be established.

#3. SOAP (Simple Access Object Protocol):

Generally, it uses XML based data to interact with web applications.

Here are some points to remember:

  • SOAP is language and platform independent as it is written by using XML.
  • It creates the platform to communicate with the applications that are running in different operating systems using different technologies.
  • Most of the Internet applications interact with each other over Remote Procedure Calls that use DCOM (Distributed Component) and CORBA (Common Broker Architecture)
  • These technologies are different than the HTTP.

RPC (Remote procedure calls) are sometimes blocked by firewalls and proxy servers. To overcome these issues, SOAP was designed. There are some standard rules to be followed while building SOAP requests.

Let’s take a look at sample SOAP document.

webservices 2


As you can see, a SOAP document must contain the following elements:

  1. Envelope element is the top most tag which identifies the XML document as a SOAP message.
  2. Followed by Envelope element, you see the header element that has header information.
  3. The Body element specifies the call and response information.
  4. Finally, you have a Fault element which contains errors and status information.

The above said elements should be declared with default namespace for the SOAP envelope.

Generally, a protocol is a set of standard rules that transfers the data between two regions in the Internet over the web services. There are many protocols that are used in the Internet applications. They are, Transmission Control Protocol (TCP) which serves as a packet between two connections. Internet Protocol (IP) that sends and receives the messages between two destinations.

Let us see some other important protocols:

  • Hyper Text Transfer Protocol (HTTP)
  • File Transfer Protocol (FTP)
  • Border Gateway Protocol (BGP) and
  • Dynamic Host Configuration Protocol (DHCP)

These protocols are used according to the requirements.

#4. RDF (Resource Description Framework):

RDF contains the description of the web resources such as title, author, content, and copyright information. This framework was designed so that computers can be read and understood easily by the web.

RDF is completely written by using XML language.

RDF data can be transferred between different types of computers using different operating systems and programming languages. Generally, RDF uses Uniform Resource Identifiers (URIs) on the web and it describes the resources along with the property and property values.

Take a look at the sample RDF document to understand better:

<? xml version="1.0"?>
<RDF>
  <Description about="http://www.softwaretestinghelp.com/rdf">
    <author> Wilfred R. Myers </author>
    <homepage>http://www. softwaretestinghelp.com</homepage>
  </Description>
</RDF>

What is XML?

XML (eXtensible Markup Language) is a mark-up language that is used for storing, sharing and formatting data. In general, an XML document is built by the tags. Let us see the sample XML content for a user’s personal information.

<Firstname> Joel </Firstname>
<Lastname> King </Lastname>
<Address> 1432 Valley Drive </Address>
<City> New York </City>
<Country> United States </Country>
<Zipcode> 19714 </Zipcode>

Meaning of “eXtensibleand “Markup”:

In the above sample, First name, Last name, Address etc. are enclosed by less than (<) and greater than (>) symbols. These labels are known as tags and the one with forward slash (/) along with the text, that is called closing tag. Tags are also called as mark-ups. These are customized as needed. This customization is not possible in other mark-up languages like SGML, HTML and so on. This is why XML is an extensible language.

XML focuses on the data for storing, sharing and exchanging as required, and HTML deals with the format of the data like applying colours, adding images, changing fonts, styles and so on.

XML and HTML can be used together in applications. For example, if you take a book, there will be textual data and graphical representation formatted. Hypothetically, XML can handle storing actual data and HTML applies the format for the content. Thereby the text book could have information as well as attractive images and colours.

How XML works with SoapUI?

As XML is a common language on Internet, it can be integrated with SoapUI because web services are mostly written in the form of XML. Also, if we pass XML input parameter to the web service, the response itself will be in the form of XML. SOAPUI can configure these web services

Conclusion:

So far in this tutorial, we took a look at:

  • Web services and its several components like WSDL, UDDI, RDF SOAP
  • Importance of WSDL document and its body of content
  • XML and its usages in SoapUI

Next tutorial => In the next topic, we will learn the features of SoapUI and SoapUI Pro version in detail.

About the authors: Karunagara Pandi and Swati Seela are helping us to deliver this comprehensive series of SoapUI and SoapUI pro tutorials. Karunagara is having 10+ years of IT and Software Testing experience on Automation and Manual testing projects. He has completed master degree in computer applications. Swati Seela, STH team member, is also helping us to make sure this is the most up to date and useful series for our readers.

Feel free to post all your queries about web services and SoapUI tool. We will answer all these questions in the coming tutorials.

**********************************

Here is the list again.

SoapUI and SoapUI Pro Tutorials:

SoapUI Free Version:

Tutorial #1. Understanding Webservices
– What are Webservices?
– What is the role of WSDL in SoapUI?
– Understanding XML

Tutorial #2. Features of SoapUI & SoapUI Pro
– SoapUI
– SoapUI Pro

Tutorial #3. Installation of SoapUI and SoapUI Pro

Tutorial #4. Working with Projects
– Creating Projects in SoapUI
– Adding Testsuite, Testcase and Teststep
– Cloning Objects of Project
– Renaming and Deleting Project Elements

Tutorial #5. Understanding Assertions in SOAPUI
– Brief Introduction of Assertions
– Contains and Not Contains Assertions
– XPath Assertions
– XQuery Assertions

Tutorial #6. Working with Operators
– Glance At Groovy Scripting
– Working with Arithmetic Operations
– Understanding Unary Operators
– Using Assignment Operators

Tutorial #7. Dealing Properties with Groovy Script
– Assigning Data to Properties
– Accessing Test Results From Properties
– Understanding Property Test Step

Tutorial #8. Working with Properties
– Different Faces of Properties
– Integrating Properties in Service Request
– Understanding Property Transfer Teststep
– Load Properties Externally

Tutorial #9. Conditional Statements in Groovy
– Boolean Statements
– Iteration Statements
– Arrays in Groovy

Tutorial #10. Object Oriented Concepts
– Basic Introduction of OOP
– Methods with Global Properties
– Methods with ‘Return’ keyword
– Methods with Arrays

Tutorial #11. Exception Handling in Groovy
– Brief Introduction of Exception and Its Types
– Importance of Exception Handling in SoapUI
– Explaining Exception Handling with Example

SoapUI Pro Version

Tutorial #12. Introducing SoapUI Pro

Tutorial #13. Understanding REST and SOAP Services

Tutorial #14. Understanding Data Driven Testing
– Understanding Data Driven Testing
– Brief introduction of data driven testing and types
– Datasource and Datasource loop test steps
– Storing and Reading From XLS and XML

Tutorial #15. Storing Request and Response in a File

Tutorial #16. Top 30+ SoapUI Interview Questions

**********************************




Recommended reading

42 comments ↓

#1 Rajesha Hota

Hii Team,

Currently i want to learn SOAP Testing .it is very helpful.
i love STH because its TOPIC and discussions helps more better than other Site.

if you added interview Question and how to crack it will be better in this tutorial.

Again Thanks to STH owner ,Team member and the Authors.

@@Team Could you please help to learn Mobile Application testing (Automation) using QTP / SeeTest / EggPlant / Ranorex .

#2 Siva Prasad

Its really useful information, especially for those who want to start learning Soap UI. When can we expect the next tutorial?

Thanks a lot.

#3 Phuoc Nguyen

Hi STH,
This article’s very helpful, very detail oriented. It helps me easier to understand.
I would like to send a BIG thanks to you.

#4 vinayanth

very very informative.STH doing a great job helping the testing community.

Regards
VINI

#5 Ankur

awesome. was waiting for this only. at the right time
thaks

#6 Prashanth

Hi,

This is very useful and complete guide. thanks for sharing.

#7 NItin

Very Helpful Article, Thanks STH

#8 Vijay

@Siva the next tutorial will be on Monday. This way you get time to read and practice meanwhile.

#9 Valli

Thanks to STH and the team members who provided the article on Soap UI.It’s nicely explained and waiting for the second part of this tuturiol.

#10 Karunagara Pandi

@All: thank you for your comments and support! Hope this will be useful series for all. Always we are here to help you.

#11 Karunagara Pandi

@Rajesha Hota
We will cover SoapUI Interview Questions at the end of the series. So keep learning..

#12 buntyrit

can you please share some light on groovy scripting used in soap ui

#13 Thilag Shanmugam

Thank you for providing this awesome tutorial. Please include property transfer of JSON for REST API testing too.

#14 sunitha

Thank you for providing this tutorial. very helpful

#15 lalitha

Thank you so much.
From many days I waiting for soap ui tutorial.
I am really looking forward for this tutorial

#16 lalitha

Thank you so much.
From many days I am waiting for soap ui tutorial.
I am really looking forward for this tutorials

#17 Niya

We have used TestingWhiz for our project recently and it worked well for us. When compared to other tools we found it to be very economic and they give good customer support. Keep it up guys! Its worth a free trial or a free demo. We started with Free trial and now looking forward to extend the license or purchase it. Also they have released new features recently, do have a look.

#18 mahesh

thank you for providing software testing information.

#19 trienth

Thank you for the tutorial!
It provides very useful knowledge about Web service.
I am a newbie in testing web services, want to learn more about SoapUI tool for testing it.

#20 Sathish

thank you #STH and #Karunagara Pandi
its very useful for Web services.

#21 Vamsi Krishna

Hi STH Team, You ppl are good and very helpful to the QA teams across the IT filed…:)

#22 Manjunath Mudhol

Good article & nicely explained. I am looking forward to learn more on SoapUI tesing.

Thank you team

#23 Amandeep Singh

Very nicely written article, Karuna and Swati…

It is a very good starting point for newbies who want to get started with this interesting form of web services testing.

I use soapUI almost on a daily basis for services testing and it saves a lot of time and you can even start testing even before the UI is even developed, to identify early defects in the webservice layer.

Cheers!

#24 rashmi

So desperately!! I have been looking for some really good soap ui tutorials. It seems I got in the right place :)

#25 rashmi

So desperately!! I have been looking for some good soap ui tutorials and it seems I got in the right place :)

#26 Ravi

Hi,

Nice article. Thanks to STH.

Here SOAP stands for Simple Object Access Protocol or Simple Access Object Protocol.

In this tutorial it is written as Simple Access Object Protocol.

I am bit confused. can you please clarify?

Thank you.

Regards,
Ravi

#27 Jai

Hi,
Thanks for posting details about SOAPUI tool. I want to know what is future about this tool .

#28 Inder

Thanks for the tutorial! Could you please also include REST API testing with SOAPUI tool , further in the series.

#29 Santosh

Hi,
There is a typo error for SOAP abbreviation,i guess it should be Simple Object Access Protocol instead of Simple Access Object Protocol.

#30 Dwarika

Its really a good tutorial and this gonna help many and might be all who want to start from scratch.

But we need to make correction of SOAP full form i.e. Simple Object Access Protocol ,

This might be a typing mistake somewhere.But this need a quick correction

#31 Gaurav Khurana

I have completed all the tutorials with 14 days trial of soap NG (Ready aPI) latest version of SOAP.. This series was awesome.. would like to thank you from bottom of my heart,,,,

In the next series please include some assignments it would help in learning more..

thanks STH… and the members behind this series..

#32 s@g@r

great one !!!!

#33 Nikki

Hi, i am working as manual tester in soap ui since Last 1 year.But now i want to automate our project through soap UI.
Can you please help me to validate the Dynamic value in response with parametrization of input value in request.
How can i Automate my SOAP UI Project.

Thanks in advance.. Please help me….

#34 Bhavya

Hi,
Tutorial 13 is showing an error while opening. “Understanding REST and SOAP Services”

#35 Darshan Satish

Very useful,

#36 Ruby Feng

It is really useful. And it helps me a lot. The articles about soapui are very very less in China’s website. But I learn more here. Thank you very much.

#37 Amol

The full form of SOAP has typo.

its Simple Access Object Protocol

Should be: Simple Object Access Protocol

#38 Paet

Nice and very deep analysis about SoapUI!
However if your requirement is just to check webservice if working fine or not without any fancy SoapUI functionalities, you could try Postman. It is simpler and lighter than SoapUI.

#39 Nayana

A big thanks to STH team. Knowledge provided is really very helpful. I got new project and was able to answer almost 85% questions asked.

Now again I am going through it. It will be good if automation tutorial is added in depth.I know am acting little greedy here :)

Good work !!

#40 Elle

Good article, except throughout SOAP is described as Single Access Object Protocol whereas it is Single Object Access Protocol

#41 Karunagara Pandi

@Amol:

Yes.. you are correct Amol…its typo error. Apologize for that.

It should be “Simple Object Access Protocol ”

Thanks

#42 Karunagara Pandi

@Santosh/Ravi:

I agree with @Santhosh….

@Ravi..

The correct form is “Simple Object Access Protocol ” no need to confuse hereafter :)

Thanks

Leave a Comment