What is SoapUI?
SoapUI is an open-source web service testing application for service-oriented architectures (SOA) and representational state transfers (REST). Its functionality covers web service inspection, invoking, development, simulation and mocking, functional testing, load and compliance testing.
Basic kick off with SoapUI:
Once you get SoapUI installed, it will have the dashboard as shown below:
To add sample test, we need to select between SOAP or REST:
We will select URL as we want to test REST API. Once URL is selected, we need to provide the URL we need to test. For example I am using StackOverflow public API to get the users:
Once we click on Next, it will create one new project and in that project it will create a TestSuite where all your test will reside:
Once we run the test, it will show green or Red color whether the test is passed or failed:
If the test is passed, it will show the response in JSON which we have got with REST GET request:
Now as it is mentioned in very first image, if we perform some security tests then it will ask about the things we need to add in security test as shown below:
Once we click on Finish, it will show the result as below:
We can get detailed report as well:
I created one sample Web API on my machine which returns 2 values and I published the API project. When I gave localhost URL in ReadyAPI, It created one new project in ReadyApi and it gave the result as shown below:
So if the API would be installed on IIS then also APIs can be tested using Ready Api.
As it works with GET, it can work with POST\PUT\DELETE as well:
SoapUI provides a feature called Virt in which we can create a virtual service, so if testers want to mock the service without calling the actual REST API, it is possible with SoapUI. We need to create a new Virt as below:
This Virt can behave as GET\POST etc as per your need and Once the Virt is created, we can even host that Virt on localhost by applying some settings.
To conclude this, if we want to test the scenario of a user account creation, we will create one project and in that there would be a test suite named “Test account creation” and in that suite we can add different test cases as shown below:
Try it out.