In this article, we will look in detail at the 7 important features of SoapUI and SoapUI Pro. Let’s get started.
SoapUI is a great tool for functional testing, web service testing, security testing and load testing.
This is the 2nd tutorial in our SoapUI web service testing tutorial series.
For more advanced and enterprise users, SmartBear also released the latest SoapUI NG Pro version which includes all the features of SoapUI and SoapUI Pro along with some really cool new features. SoapUI NG pro is embedded in SmartBear “Ready! API Platform”.
For all our tutorials, the focus will be on the core features of the original SoapUI and Pro version.
Table of Contents:
7 Important Features of SoapUI and SoapUI Pro
#1) User-Friendly GUI
Even without prior familiarity, SoapUI is very comfortable for new users. For example, if you wish to create a SoapUI project, just click on the File menu.
Then click on the New SOAP Project option and then provide a valid WSDL file path. That’s it. Similarly, if you take any assignments in the SoapUI tool, we can do it as easily as Microsoft suite.
#2) Easy for Functional Testing
SoapUI provides drag and drop options for creating test suites, test steps and test requests to build complex test scenarios without writing any background scripts. Once a project is created, we can then add test suites under it. The test suite includes test steps and test requests based on the services.
The project can be used several times for smoke testing and functional testing. If we need any test suites for other projects, SoapUI offers a feature called cloning which enables us to duplicate existing test suites and put them into other projects.
SoapUI also provides options for test debugging that lets us look at the test execution step by step. With the help of SoapUI, we can also perform data driven testing within a short period of time. All of this will be addressed in greater detail later.
#3) Vulnerability Testing
SoapUI and SoapUI Pro tools provide options to protect websites from hackers and viral software applications. Vulnerability testing is a type of testing that helps us to identify the weak areas of web applications.
With the SoapUI family tools, we can protect applications by executing Test Generator, SQL Injection and XML Bomb methods. Test Generator is a SoapUI Pro feature. It helps to create complete vulnerability test suites.
Similarly, SQL Injection feature allows us to provide some standard SQL queries and methods to identify the weak areas of the application and database side.
For example, see the SQL query given below
Select *from Customers where CustomerId = “C2014” or 1=1
The above query will be returned to all the customers since the 1=1 condition is always true. This way the hacker can easily get all the usernames and passwords with this sample query. The SoapUI tool can simulate these queries so we can understand the hack-proof-ness of the site.
XML bomb is in SoapUI that allows us to test services by passing huge XML data and examining the overflow of the application.
In addition to these, the SoapUI tool has many more features like cross-site scripting, passing random string data to identify the string vulnerabilities, boundary level testing, etc.
#4) Load Testing using LoadUI
SoapUI can also estimate a web application’s load balancing capacity. To do so, SoapUI includes an option called LoadUI that is available on the toolbar. After creating a project with proper test suites we can move to load testing by just clicking on the LoadUI option. SoapUI then navigates to the LoadUI tool (it should be pre-installed on your computer for this to work) and then to the tests that can be configured based on the need.
After executing the load test, LoadUI will generate a report that helps determine whether the application can run with a heavy load or not.
#5) Automation with Groovy
As discussed before, we can use SOAP and REST based services to validate in SOAPUI. SoapUI user interface is designed as a simple and comfortable interface for all the users.
In order to write automation scripts for SoapUI, we need to add Groovy Test steps under the test suite. The groovy script has built-in libraries and allows us to integrate java based libraries too. So, it will be very helpful if you are familiar with Core Java. We can write complex scenarios using Groovy script and java.
For example, consider a situation where you need a response from one test request and then pass it as an input to another request. To accomplish this, we could store the response data in global properties and then reuse them through the scripts.
See the sample screenshot which shows the Groovy script test steps and a sample script.
(Click on the image for an enlarged view)
#6) Data Driven Testing
SoapUI Pro supports data driven testing. It lets us perform bulk inserts, delete and update related testing. We can upload Excel/CSV format test data to perform bulk testing.
In order to perform data driven testing in SoapUI, we will have to add DataSource and DataSourceLoop test steps under the test suite. The DataSource test step deals with the external data source configuration and DataSourceLoop fetches the data row by row from the external data source. More information on this is coming up in future articles.
#7) Assertions
Assertions are another key feature of SoapUI. It basically validates the response message while executing the test steps by comparing it to any part of the response message or entire message.
For example, if we have an authentication web service which should authenticate the login credentials given by the user. Let’s assume the web service response is in JSON format. If authentication is done effectively, service will return a successful message to the user.
Here’s a sample response
Successful Authentication
Response [
{
“Message”: “Successfully Authenticated”,
“Status”: “true”
}]
Failure Authentication
Response [
{
“Message”: “Authenticate Failed”,
“Status”: “false”
}]
In the above responses, we have “Message” and “Status” elements. So, it is easy to validate these responses using either “Message” or “Status” value. For that, we need to configure in the respective assertions appropriately as XPath Match assertion, XQuery, Contains and Not Contains etc.
SoapUI NG Pro
SoapUI recently released the latest version of SoapUI Pro. It is basically developed on the core Soap UI so you can continue using SoapUI existing projects with this version as well.
You can compare features of SoapUI and SoapUI NG Pro on this page: Feature comparison of SoapUI and SoapUI NG Pro.
SoapUI NG Pro Important Features
1) SoapUI NG Pro gives complete functional testing capabilities for SOAP API, REST and other protocols,
2) SoapUI NG Pro is introduced in “Ready! API platform” which determines the actual functionality of the API service and its expected behaviour.
3) Ready! The API platform provides a skeleton that determines our service inputs to generate a test coverage report which evaluates the functionality coverage implicitly.
4) This allows ad-hoc testing or command line interfaces to test our APIs effectively.
5) All REST, SOAP API and other service components can be used by simply drag and drop method.
6) In SoapUI NG Pro, a data driven feature is little enhanced in retrieving information from external data sources, for example, Excel, XML, JDBC data sources and file/directories etc. The retrieved data will then be converted into the SoapUI NG Properties test step.
7) We can transfer the property test step values to XPath-queries, scripts and so forth.
8) SoapUI NG Pro offers a feature called point-and-click to generate test scenarios quickly.
9) SoapUI NG Pro allows the end user to customize their services easily even if they are new to SoapUI Pro or development experience.
10) Here are a few more important features available at SoapUI NG Pro
- Test Coverage: To analyze the API tests along with the functionality as expected
- Multi-environmental Support: Allows for changing the testing environment based on our requirements
- Test Debugging: This feature helps to analyze the test step-by-step debugging. It also includes variables, properties, input requests, etc.
- Complex Scenarios: SoapUI NG Pro makes it easier for APIs that are involved in client-server architecture
- Drag and Drop Test Creation: As it exists, it is easy to create and run test scenarios using the drag and drop feature
- The SoapUI team also introduced the LoadUI NG tool for LoadUI Pro users. It is used to perform load testing on Ready! API platform. It basically simulates the SoapUI NG Protest cases and determines the load of the application server
Conclusion
SoapUI and SoapUI Pro features are effective in building and delivering web services with fewer defects. SoapUI and SoapUI Pro also support a few other features such as service mock testing, multiple environments, generating quick reports, SQL builder/editor and so on.
Next Tutorial: In this tutorial, we discussed the major features of SoapUI, SoapUI Pro (and SoapUI NG Pro) tools. In the next tutorial, we will learn the installation of SoapUI and SoapUI Pro. We will also look at the major differences between SoapUI, SoapUI Pro and their plugins.
Keep reading and don’t forget to post your feedback and queries in the comments section below. We would love to hear from you.
it is very nice article,thank for a valueble information
nice. waiting for installation part
It’s good article will be waiting for the next one…
This is by far the best article I have read on SOAP UI. Great work. Keep posting !!
Nice one. Is it necessary to learn core java or enough woth groovy scripting??
Thank you team for the article
Where is next tutorial link?
@Kanika
It is not necessary to have knowledge about HTML and XML to perform testing using SOAPUI.
Basic testing skills is enough
Thank You Karunagara Pandi
This is very useful article
@All: Thank you for reading and supporting us!
I wanted to ask if we need to have knowledge of HTML and XML to perform testing in SOAP UI?
Can someone give an example of how to compare results for a JSON parsed and stored in a array and then used for comparing with DB query
very very helpful tutorials. everything is explained clearly and precisely. thankyou for taking so much effort for the welfare of others.
Hi STH,
This is really helpful to understand the concepts easily
This is really helpful to understand the concepts easily and precisely.
Very clear and precise to understand the QAs who wanted to start working on SoapUI Webservices
Team,
Not sure the reason but i dint get any mail regarding for Tutorial#2. But now i received mail for tutorial 3 and then i searched for Tutorial 2. Please make sure iam looped in all emails for all tutorials.
Thank you for sharing this article.this is very helpul to understand testing concepts
Hi @Manjunath Mudhol,
It is not mandatory to learn Java for performing automation testing using SoapUI. You can also write Java based automation scripting in SoapUI as Groovy Teststep supports Java based scripting.
Good information,, Good to know LOADUI is also integrated into the SOAPUI
Nice article. Nice presentation and easy to understand
Hi Vijay,
I want to populate database by calling rest api by using automation test script.
So my task is to load test rest api using automation test script & at the same time generate lots of test data in the database.
How to perform this with Soap ui ? Can you please help me out?
How much knowledge we need to have to write automation scripts.