TestSuites and TestCases

soapui supports functional testing of webservices by providing a testcase metaphor where a number of test-steps can be executed in sequence and each step validated. Currently two types of steps are available;

  • Request steps : Holds a request and allows the response to be validated using a variety of assertions.
  • ValueTransfer steps : Can be inserted between two request steps for transferring values from the first steps response message to the following steps request message using xpath expressions.

TestSuites are currently merely a container for TestCases and have no functionality or editors of their own. TestSuites are created either from the project nodes right-button menu with the "New TestSuite" action or when adding an existing request to a testcase using the requests "Add to Testcase" action which will prompt for a new TestSuite if none is available

TestSuite Actions

The following actions are available from the TestSuite nodes' right-button menu:
  • New TestCase - prompts to create a new TestCase in the TestSuite
  • Rename - prompts to rename the TestSuite
  • Remove - prompts to remove the TestSuite from its project. All underlying TestCases and their requests will be removed also.

TestCase Actions

The following actions are available from the TestCase nodes' right-button menu:
  • Rename - prompts to rename the TestCase
  • Remove - prompts to remove the TestCase from its TestSuite

The TestCase Editor

Double-clicking a TestCase node in the navigator opens the TestCase editor which is divided into the following 4 sections (from top to bottom):

1. A toolbar at the top containing the following actions (from left to right)

  • Run TestCase - runs the testcase (see below)
  • Cancel TestCase - cancels a running TestCase
  • TestCase Credentials - prompts to set the credentials to be used by all requests in the TestCase. This is usefull if you want to run your tests with different credentials.
  • TestCase Endpoint - prompts to set the endpoint to be used by all requests in the TestCase. This is usefull if you want to run your tests against different servers, etc. The available URL's are collected from the test-requests' operations' interfaces. The selected endpoint is assigned to each request in the TestCase.

2. A progress indicator showing how far a TestCase run has proceeded

3. The "TestSteps" list show which requests and value-transfers that this TestCase contains. Double-clicking an item in the list opens that items editor view. Right-clicking an item shows a popup-menu with the following actions:

  • Delete - prompts to delete the selected step
  • Rename - prompts to rename the selected step
  • Clone - prompts to clone the selected step. The cloned step will be added at the end of the list.
  • Insert Step -> - shows a list of insertable test-steps at the current position. This will currently always be "Transfer Response->Request values".
  • Move down - moves the selected step down one position in the list
  • Move up - moves the selected step up one position in the list

4. The "TestLog" list shows log-information when running the TestCase:

  • When the testcase started
  • How long each test-step took
  • Assertion-errors reported by request-step assertions
  • How long the testcase took


Next: Working with TestRequests