Go back to all articles

SoapUI Tutorial: a Detailed Guide on How to Create Project, Test Suite, TestCase and TestStep

Nov 9, 2020
6 min read

Web and API testing is an integral part of website testing. However, without a comprehensive software testing tool, it’s difficult to find hidden errors inside the software. Open-source tools like SoapUI provide us the perfect set of features for functional testing and non-functional testing. This is why it is widely used for Web Services testing. You can also read our comparison with other popular tool in PostMan vs SOAP UI post.

For proper testing, we must organize all our tests in a proper format. Without it, software test automation tools cannot work with the desired functionality. For this reason, SoapUI provides a collection of standard guidelines that help us create test cases in a defined hierarchy.

In this article, we will provide a detailed guide on how to create Project, Test Suite, and TestCase in SoapUI.

Table of Contents

  1. Understanding the SOAP Protocol 
  2. Structure of Test Cases in SoapUI
  3. Projects in SoapUI
  4. TestSuite in SoapUI
  5. Creating a TestSuite in SoapUI
  6. TestCase in SoapUI
  7. Benefits of Using SoapUI
  8. Conclusion

Understanding SOAP

If you want to use SoapUI effectively, you have to understand the basics of the SOAP. SOAP (Simple Object Access Protocol) is a platform-independent XML-based protocol that enables the communication between applications written in different programming languages. For example, it makes it possible for a system developed in .NET to exchange messages with a system created in Java. 

SOAP messages are encoded in XML and consist of <Envelope> element with two child elements: <Header> and <Body>. <Body> element also contains <Fault> subelement. These messages are used both for requests and responses. And one of the most used transports for SOAP messages is HTTP. 

SOAP is one of the protocols supported by SoapUI (along with  REST and JMS).

Structure of Test Cases in SoapUI

SoapUI test structure

SoapUI test structure

SoapUI follows a three-tier hierarchy to create test cases. TestStep is at the lower level of the hierarchy and is used to verify a single action. Several TestSteps are grouped in TestCases, and TestCases are grouped in TestSuite.

Multiple TestSuites are organized in Projects, and several Projects can be available through a single Workspace. So, to run web service testing with SoapUI, we first enter Workspace and create Project; create TestSuite; develop test cases for individual scenarios, and then outline TestSteps for our test cases.

Projects in SoapUI

Project is a set of all your TestSuites, TestCases and TestSteps you need to test for one product. You can create a SOAP or REST project or choose an empty one. 

There are multiple ways to create a new project:

  • select New SOAP Project/New Rest Project options on the main screen
  • right-click on the “Project” in the left navigation bar and select the type of project you need
  • choose the button with the type of project you need on the upper navigation bar
  • or left-click on the “Project” in the upper menu

Also, it is possible to import projects.

New project creation in SoapUI

New project creation in SoapUI

TestSuite in SoapUI

A TestSuite is a group of several TestCases. A SoapUI project can contain any number of TestSuites

Creating a TestSuite in SoapUI

To create a new TestSuite in SoapUI, follow the steps below:

  • Right-click on the Project in the left navigation bar or left click on the Project menu on the top navigation bar. Select New TestSuite option.
  • Also you can use CTRL+T combination
TestSuite creation in SoapUI

TestSuite creation in SoapUI

You will see a dialogue box where you can specify the name of the TestSuite. After clicking on the “OK” button, an empty TestSuite will be created. 

It worth noting that with SoapUI you can generate TestSuite for all the methods provided by the WebServices in a single step. To do that, right-click on one of SOAP services in your project and select the option “Generate TestSuite”. Select suitable options in the window that will appear, set your new TestSuite name, and you are done.

Generating TestSuite in SoapUI

Generating TestSuite in SoapUI

TestCase in SoapUI

А test case is a set of instructions on what actions and in what sequence we have to perform to validate the expected behavior of the system. And SoapUI TestCase is a set of TestSteps — that is, steps that need to be executed in a given sequence to test the system. A SoapUI TestSuite can contain multiple TestCases.  

So, how to create a TestCase in SoapUI?

Creating a TestCase in SoapUI

New TestCase creation in SoapUI

New TestCase creation in SoapUI

  • Right-click on one of your TestSuites in the left navigation bar or click on the “Suite” menu on the top navigation bar. Select “New TestSuite”. You can also press CTRL+N.
  • A dialogue box will appear, where you can specify the name of the TestCase.
  • A new empty TestCase under the TestSuite will be created. 

TestStep in SoapUI

TestStep in SoapUI describes one particular step that must be performed to validate the functionality of the service to be tested. One TestCase can contain multiple TestSteps. 

New TestStep creation in SoapUI

New TestStep creation in SoapUI

There are different kinds of steps available: SOAP Request, REST Request, HTTP Request, Conditional Go To, Delay and much more. For example, this is the way we can add a TestStep to the SoapUI TestSuite:

 Creating a SOAP TestStep in SoapUI

  • Right-click on of your TestCases and click on “Add Step >> SOAP Request”. You can also click on “Case” in the upper menu.
  • Specify the name of your new TestStep.
  • In the new dialogue box select the operation to invoke for request.
  • Add assertions to your request
  • A window with your SOAP request will open. Edit the XML, if necessary.

Creating a REST TestStep in SoapUI

Now imagine that we have to test a REST service. For testing REST services, most of the steps will be the same, but when creating TestSteps, we will add REST request, not SOAP one. That is what you have to do:

  • Create a new REST project
  • Add a new TestSuite under the project named
  • Add a new TestCase
  • Right-click on the created test case and select “Add Step >> REST Request”
  • Enter the name of the test step
  • Select the endpoint of the service you want to test
  • Select the “REST method” and click “OK”

SoapUI Benefits

Free and powerful tool

SoapUI is a free open-source testing solution. It also has a paid Pro version called ReadyAPI with some additional features for testing and reporting. But even basic functionality of SoapUI is enough to perform functional and load testing of web services. 

User-friendly GUI

SoapUI interface is simple and easy to learn. All the actions you need can be found in drop-down menus or on the upper navigation bar. Also SoapUI allows to use drag-and-drop for test creation, so you don’t need to code to make a test case.

Scripting with Groovy

If you need to create a complex assertion or to manipulate behavior of your test case, you can write scripts with Groovy. Groovy scripts also allow you to integrate Java libraries. And ReadyAPI has even more scripting options.

Integration with automation tools

It is possible to integrate SoapUI with popular automation tools: Maven, Hudson, Junit and Apache – Ant.

Data-driven Testing

ReadyAPI, a paid version of SoapUI, supports data-driven testing. It means that data is stored in some external source and used for driving the test. So one can spreadsheet or XML with test data to perform bulk testing.

Conclusion

SoapUI follows the typical hierarchy of any software testing tool, as it starts from Projects, Test Suites, and ends with Test Steps. Also it provides us with tools for auto-generating TestSuite and for creating TestSuite, TestCase, and TestSteps manually.

SoapUI is a useful tool for testing web and microservices. Without proper web service testing, you cannot build robust applications with different functionalities while ensuring that these functionalities are easy to test and integrate. PFLB is a software testing company. Our mission is to ensure the best software quality for our clients and provide load testing service. We have served over 500 companies across a wide variety of domains that range from retail and technology to healthcare and finance systems performance testing. With years of experience at our disposal, our testers have learned how to ensure seamless communication between different software systems with the help of api performance testing tool.

Table of contents

    Related insights in blog articles

    Explore what we’ve learned from these experiences
    3 min read

    SOAP UI vs PostMan: Which Tool is Best?

    postman vs soapui preview
    Feb 24, 2025

    When it comes to API testing, Postman and SoapUI are two of the most widely used tools, each designed with a different focus. Postman is streamlined, intuitive, and ideal for REST API development, automation, and team collaboration. SoapUI, on the other hand, offers comprehensive functional and security testing, making it the go-to choice for SOAP-based […]

    4 min read

    DevOps Pro Europe Conference 2025 – Advance Your DevOps Expertise

    devops pro europe preview
    Feb 21, 2025

    The annual DevOps Pro Europe conference explores the core principles and concepts of the DevOps methodology. It highlights how to effectively utilize common DevOps patterns for developing, deploying, and maintaining applications both on-premises and in the cloud. The DevOps Pro Europe 2025 conference will be available on-site and online, allowing participants to join in their […]

    13 min read

    How to Speed Up a WordPress Site

    how to speed up a website — part 1 preview
    Feb 17, 2025

    We have a lot of experience in the field of web performance optimization, so we would like to share with you our best practices for solving such problems. In this part of the article, we will cover how to test a website on the WordPress platform, give you useful tools and important metrics for website testing. Additionally, we will shed light on site performance optimization.

    7 min read

    Top 6 K6 Alternatives Overview

    k6 alternatives
    Feb 13, 2025

    K6 is a lightweight tool designed for developers using JavaScript. It’s easy to write simple test scenarios, especially for microservices or static websites. K6’s low resource usage and free version with limited features make it attractive for quick, small-scale testing. However, for more complex scenarios, such as distributed testing or advanced data pool management, K6 […]

  • Be the first one to know

    We’ll send you a monthly e-mail with all the useful insights that we will have found and analyzed