How to Create and Execute Your First SoapUI Project Using WSDL – SoapUI Tutorial #4

In previous SoapUI tutorial, we discussed SoapUI and SoapUI Pro installations. Now in this 4th tutorial of this SoapUI training series, we will start with actual SoapUI usage on a test project:

You will learn:

  1. Creating SOAP project- adding WSDL during creation or after
  2. Request and Response verification
  3. Working with TestSuites, TestCases and TestSteps

Let’s get started.

What You Will Learn:

Working with SoapUI Projects:

Creating a new project by adding the WSDL:

#1. Open SoapUI application and follow the instructions to proceed with the licensing process

#2. Click New SOAP Project option from the File menu or press CTRL+N shortcut key.

#3. Enter the project name (meaningful one is better)

#4. Then specify the valid WSDL URL in the given text box. Let’s use currency convertor URL. i.e. http://www.webservicex.com/CurrencyConvertor.asmx?wsdl. (There are many other sample WSDL URLs available. Please check for the open source Web services available for variety)

#5. The remaining setting can be left default and then click OK. The below WSDL processing progress shows up (Note: internet connection is mandatory for this to work)

#6. Once WSDL URL processing has been successful, SOAP project will be created along with the service requests.

The URL we used in this tutorial can be called from anywhere through the Internet. This web service is hosted on a web server and on calling the URL the hosted server is searched and SoapUI project gets loaded with the services contained within it as you can see below:

Project creation was done!

Adding a WSDL to an existing project:

#1. Right-click on the Project Name in the Navigator panel

#2. Click Add WSDL option or hit CTRL + U

#3. Add WSDL dialogue appears on the screen.

#4. Enter valid WSDL URL in the text field as seen below:

#5. Click OK

#6. The URL is processed and the respective services get loaded into the SOAP project as below:

Executing Services & Response Verification:

#1. Expand the CurrencyConvertorSoap in the tree (click on the +)

#2. Double Click Request1 (the service name, this can be changed if needed)

Please take a look at the screenshot for more information: (Click on image for an enlarged view)

#3. Click on the XML tab from request section. It will show the input request for currency convertor web service as shown here in the screenshot. (Click on image for an enlarged view)

In the above screen question mark (?) symbols are in the input request. These are the input parameters for the currency convertor web service.

When run/start  icon is clicked, SoapUI will call the currency convertor web service along with the input parameters that were provided in the request. Then, the web server will receive these input parameters and process them. Once done, the server will send the response back to SoapUI.

Sometimes the response may contain error messages. For example, while processing the input request, a server may be down or Internet connection could not be established from our side. During that time, we will get a response that is an exception.

For instance, let us enter USD for <<From Currency>> and INR for <<To Currency>> with valid values as below and call the service. As can be seen below, the correct response is obtained.

(Click on image for an enlarged view)

To test a negative scenario, let me change the <<From Currency>> as the US and execute the service.

(Click on image for an enlarged view)

To this, we received unknown error messages because our input was wrong. The same error messages will be shown in the error log tab.

TestSuite, TestCase and TestStep in SoapUI:

A test suite is a common repository that contains a number of test cases. It is a collection of Test cases that represent the application flow. Test cases are the descriptive data about the application flow. Each test case contains individual actions called Test steps.

In SoapUI, the test suite will be a root node that has to be created explicitly and test cases can be added to it and to test cases we can add test steps. It is a tree structure of sorts. If the test suites are well built, a bunch of web services can be executed in one go. These test suites can be used for smoke, performance, regression testing etc. Once executed SoapUI Pro generates a report for analyzing results.

Adding a TestSuite during project creation:

#1. Click New SoapUI Project option (or press CTRL + N) from the File menu. Check the options as above and click OK.



#2. Another pop-up to set the test case details would be displayed, set the properties as below, and click OK

#3. Enter the TestSuite name. By default, a sample name will be automatically assigned and that can be changed. Lets say it is: CurrencyConvertorSoap_TestSuite1 and click OK

#4. Based on the services count under the project, it will add that many test suites. Multiple test suites can be created.

#5. Finally, the project tree will look like below after creating the test suites.

#6. Now we have two test suites. Each test suite will contain test steps, load test step and security test step as below:

As discussed earlier, test steps go under the test case. Within the test steps, the actual web service steps get added. If you double-click on the service name, it opens the request and response sections on the right side of the navigator panel.

(Click on image for an enlarged view)

#7. In the input request, replace the ‘?’ with valid input data.

#8. Click run icon to execute the test suite. The response can be seen on the right side of the screen as below:

(Click on image for an enlarged view)

Adding new TestCases to already existing TestSuites:

#1. Right-click on the test suite name

#2. Enter the TestCase name and click OK

#3. Test steps can be added to the test case by Right clicking on the test steps and then click Add Step: Test Request option from the context menu as shown below and follow the steps through.

#4. After choosing the name, choose service name from the drop-down if needed or it can be left empty and click OK

#5. In the following wizard, we can rename the request if required, with the other settings as default click OK

#6. The input request name can be seen under the test steps. When the request name is double-clicked, the same input request and response section will open (Click XML tab to see the input and response requests).

#7. Enter the input data and execute the service to receive the response.

(Click on image for an enlarged view)

#8. To execute all the test cases together, double-click on the test suite name and click Start Icon

The list of test cases in the test suite and their execution statuses can be seen as below.

(Click on image for an enlarged view)

Additional information:

Conclusion:

Every project must contain service request(s). Test suites are particularly useful for executing bulk requests at once but otherwise individual requests might suffice for simpler tests.

Next Tutorial: In the upcoming tutorial, we will work on understanding Assertions in SoapUI. We will learn:

Please post your questions and comments for us below.