SoapUI vs Postman
By: Hilal Demir
Tags: Postman, Soap, Rest Api, Testing, Soapui

In this article, I am going to talk about SoapUI and Postman platforms which are frequently used to streamline collaboration with SOAP and REST APIs.

Before we begin, you can download the SoapUI open-source version from the following link and download the Postman from this link according to your operating system. In the rest of the article, the examples I will be giving will be on MacOS operating system.

What is SoapUI ?

SoapUI is an open source tool for testing APIs in general. It allows users to execute automated functional, regression, compliance, and load tests on different Web APIs of all kinds and technologies including SOAP and REST. Its name mislead the users to think it only works for SOAP APIs but as mentioned before, it is cross-platform.

It enables users to create test reports and integration with frameworks like Cucumber and Selenium.

What is Postman ?

Postman is a great software tool for connecting and making test calls to RESTful APIs made by others or by yourself. Its sleek and smooth design enables users to make HTTP requests to special web addresses called URIs. Postman returns and displays the response.

Let’s explain some basic HTTP requests are GET, POST, PUT, DELETE:

GET — Read or retrieve data

— Read or retrieve data POST — Add new data

— Add new data PUT — Update existing data

— Update existing data DELETE — Remove data

Running Tests with Testinium

I am going to give some examples via a test company called Testinium by using its endpoints. Endpoints will be reached by URIs (Uniform Resource Identifier) that I mentioned above.

While testing, we are going to need the URI/URL from the https://testinium.com, methods that we are going to use and parameters such as GET and IDs and authorization parameters.

HTTP Requests with Postman

With its ease of use, you can create and add multiple details to requests with Postman just by clicking the New>Request button on the top left or by just clicking the + (plus) button on the tab menu.

In the New button launcher, you can add a name and a description for your request. After you can specify other details in the tab.

In the below example, we are going to retrieve the data of projects with GET method. You can see the status of your request on the top right, Status Code 200 means successful request which means for a GET method, requested source is reached and the response is displayed in the body.

You can send path variables by adding it at the end of the URL or query parameters by adding from the Params tab as you can see below. When adding or updating with PUT or POST requests, you will need the body data, in our case, a new project data with JSON format. You must select the proper headers to indicate the content type your API may need to process the received data correctly, we selected raw and JSON headers in the below.

You will need to authenticate your identity as a client to send requests with permissions. You can add your auth details from the Authorization tab or from the Headers tab.

You can add a lot more details and custom settings as you need in the Postman.

HTTP Requests with SoapUI

We are going to use a request collection from Postman. To do that, you need to export your collection.

Then you need to save it wherever you want.

In the SoapUI, you need to click File>Import Postman Collection and select the collection file to import.

After, you can select any REST API request from the collection and run it, we are going to retrieve Environment data with GET method.

For PUT and POST requests, you need to add the body of data in the bottom left box.

From the top left menu you can view, add, update or remove parameters specified in the path, queries or headers.

Assertions in SoapUI

Assertions are used to validate the test results during execution in SoapUI. You can add as many assertions as you want to a test step. After the test step executes, all the assertions of it execute as well and results are shown in the log.

To add an assertion, create a test case and generate a request. Double click the request and open the editor, there you will see the assertion button in the bottom. You can add assertions by clicking the plus icon.

After, you can examine if the assertions passed (green) or failed (red) the tests in the log as you can see from above.

Assertions in Postman

You can add test scripts and assertions in Tests tab in the Postman. Postman tests can use Chai Assertion Library BDD syntax. You can add multiple assertions in the script. In the below example, we are testing if our request is returning a response with status code 200.

SOAP vs REST API

Application programming interface (API), enables us to interact with separate software components or resources. It is like two application are talking each other. Web service part of the APIs has several design models including SOAP and REST.

What is SOAP ?

SOAP stands for Simple Object Access Protocol and it is an XML-based messaging protocol for exchanging information among computers. SOAP is RPC(Remote Procedure Call) and it is based on client/server structure. A SOAP message has the following structure:

The Envelope element (contains all of the SOAP message)

The header element

The body element (Details of the message)

The Fault element (Optional)

What is REST ?

REST stands for Representational State Transfer and when a RESTful API is called, the server will transfer to the client a representation of the state of the requested resource. It has peer-to-peer (P2P) structure based on client/server and request/response structure.

Comparing SOAP and REST:

SOAP is cross-platform while REST requires HTTP.

while REST requires SOAP supports XML while REST supports HTML, XML, JSON . JSON can keep data in smaller sizes compared to XML, that is why REST can process faster .

while REST supports . JSON can keep data in smaller sizes compared to XML, that is why REST can process . SOAP’s security is better because it uses built-in structures.

because it uses built-in structures. REST uses HTTP GET , SOAP uses complex XML requests . That makes caching easier in REST APIs.

, SOAP uses complex . That makes caching in REST APIs. SOAP requires WSDL definitions while REST does not.

while REST does not. SOAP is WC3 standard. REST is not a standard.

SoapUI vs Postman

Pros and Cons of Postman and SoapUI

Postman’s Benefits:

User friendly and simple interface.

interface. Easy to access from application or browser with an account.

from application or browser with an account. Supporting all HTTP methods.

methods. Progress saving.

Easy tracking with several status codes.

Postman’s Disadvantages:

Limited testing area .

. Unable to use pre-written scripts for different projects.

for different projects. Constrained integration.

SoapUI’s Benefits:

User-friendly interface with drag and drop, point and pick options.

interface with drag and drop, point and pick options. Data-driven API automation testing.

Ability to use pre-written scripts for different projects.

for different projects. Asynchronous API calls.

SoapUI’s Disadvantages:

Low stability.

Difficult interface for a first-time-user.

Need of WSDL for web service testing.

Pricing

Price plan for Postman is:

Plan comparison for Postman:

Price plan and functionality table for SoapUI:

Conclusion

Postman is a great tool for testing despite of disadvantages. It is a good fit especially for RESTful APIs and it has a really simple, user-friendly and sleek interface.

On the other hand, SoapUI is a great tool for those who want load testing, API automation with various protocols to support.