Getting Start with SoapUI

Hola Testors!

I thought to getting start of SoapUI with some example scenario rather than introducing the interface first. So shall we do a little exercise today? Previously I told we mainly we use two kind of web protocols to test (SOAP and REST). Today I’m gonna use SOAP service to test. Let’s begin:

Download and configure SoapUI

First, you need to download and install SoapUIto your computer.
Go to soapui official page and download a version which match with your computer (I’m using Mac OS X installer (64-bit) version)
SoapUI official site: http://www.soapui.org/.

Screen Shot 2015-08-16 at 1.10.06 PM

After the download happens, you can install it as a normal application. In Mac it will installed to your /Application directory by default. In windows > Program Files

Create a workspace

After the installation you can use SoapUI. First of all open the application. Then create a workspace by

File> New Workspace

Screen Shot 2015-08-16 at 1.20.26 PM

Create a SOAP Project

Now you have a workspace to work. As I mentioned earlier we’re gonna create a SOAP project. How to do it

File> New SOAP Project

Screen Shot 2015-08-16 at 1.24.58 PM

Screen Shot 2015-08-16 at 1.26.41 PM

  1. Project Name: Currency Converter
  2. Initial WSDL: http://www.webservicex.net/CurrencyConvertor.asmx?WSDL
  3. Keep checked for “Create Request”
  4. Click “OK”

It will create two version of services (CurrencyConvertorSoap and CurrencyConvertorSoap12). First one follows older standards of SOAP.

Screen Shot 2015-08-16 at 1.52.36 PM

Remove CurrencyConvertorSoap12 version since no use of it.

Expand CurrencyConvertorSoap version, there you can see a “ConversionRate” method.By expanding that method you’ll be able to see “Request1” request.

So let’s make it useful, Right click on it and rename to “GBP To LKR”

Screen Shot 2015-08-16 at 1.40.41 PM

Double click on the Request, it will display you a simple xml request

Screen Shot 2015-08-16 at 1.57.11 PM


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET/">
  <soapenv:Header/>
  <soapenv:Body>
     <web:ConversionRate>
        <web:FromCurrency>?</web:FromCurrency>
        <web:ToCurrency>?</web:ToCurrency>
     </web:ConversionRate>
  </soapenv:Body>
</soapenv:Envelope>

In the request xml you can see “?” marks for “FromCurrency” and “ToCurrency”.

You can test the request by replacing question mark of “FromCurrency” parameter by “GBP” and “ToCurrency” parameter by “LKR”.


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET/">
  <soapenv:Header/>
  <soapenv:Body>
     <web:ConversionRate>
        <web:FromCurrency>GBP</web:FromCurrency>
        <web:ToCurrency>LKR</web:ToCurrency>
     </web:ConversionRate>
  </soapenv:Body>
</soapenv:Envelope>

By clicking “Submit request” button of request window (upper left corner) you’ll be able to get the response xml with GBP to LKR exchange rate.


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
     <ConversionRateResponse xmlns="http://www.webserviceX.NET/">
        <ConversionRateResult>207.3026</ConversionRateResult>
     </ConversionRateResponse>
  </soap:Body>
</soap:Envelope>

Create a Test Suite/ Test Case

My request is working correctly. hope your one too. Now we have to test this service for GBP to LKR conversion. So we’re are gonna create a test case.

Right click on “GBP To LKR” request > Select “Add to TestCase”

Screen Shot 2015-08-16 at 1.58.57 PM

Oh, It is saying we don’t have a test suite to add the test case :O Okay we’ll create a test suite first.

Screen Shot 2015-08-16 at 1.59.57 PM

Then we create a test case

Screen Shot 2015-08-16 at 2.00.16 PM

Screen Shot 2015-08-16 at 2.00.23 PM

Screen Shot 2015-08-16 at 2.00.42 PM

Your test case will display in the tree as below

Workspace> Project> Test Suite > Test Case

There you can see Test Step, Load Test and Security Test. We’re gonna do a functional test. So our section is “Test Steps”. By default SoapUI creates a test step for us. Lets see what is inside there.

Screen Shot 2015-08-16 at 2.10.40 PM

Ahh it is same like the request XML! We change the xml to testable format that what we need. Change web:FromCurrency to GBP and web:ToCurrency to LKR as below


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:ConversionRate>
         <web:FromCurrency>GBP</web:FromCurrency>
         <web:ToCurrency>LKR</web:ToCurrency>
      </web:ConversionRate>
   </soapenv:Body>
</soapenv:Envelope>

Shall we check whether we get a correct output.

Click on the submit request button on top left corner. (Refer below screenshot)

It will generate an response xml

Screen Shot 2015-08-16 at 2.41.21 PM


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <ConversionRateResponse xmlns="http://www.webserviceX.NET/">
         <ConversionRateResult>210.6568</ConversionRateResult>
      </ConversionRateResponse>
   </soap:Body>
</soap:Envelope>

You can see the results in between ConversionRateResult tags it is 210.6568 now.

Add Assertions

Our test step is done now. But how we can verify whether this s correct out put or not while we’re running on this test? To do that we need assertions

Click on the Assertion tab on the bottom

Screen Shot 2015-08-16 at 2.48.17 PM

It will expand the assertion pane . Then click on the “Adds an assertion on item” button (shows in following screenshot)

Screen Shot 2015-08-16 at 2.48.32 PM

It opens Add Assertion window and you can add Assertions by selecting assertions in there.

Screen Shot 2015-08-16 at 2.48.52 PM

We will see how to use assertions and how to test a test case/ test suite on next posts. 🙂


If you have any comment/ suggestions please comment below. We need to be improve with your ideas and suggestions. See you soon folks 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s