15 January 2008 - 2.0.1 home user-guide eclipse intellij netbeans maven PDF files forums bugs sourceforge eviware.com






soapUI Overview

Prerequisites

Although soapUI should be easy to get started with, you will need to have a good grasp of the following concepts/technologies to get the most out of soapUI's functionality.

  • WSDL - basic concepts (services, ports, bindings, port types), relation to xml-schema
  • SOAP - basic concepts, relation to WSDL (bindings, etc), different encoding types (soap-encoded/literal) and message styles (document/rpc)
  • XML and related technologies - XPath, XML Schema, namespaces, etc

You can find most specifications at W3C and tutorials at several sites, for example W3Schools and zvon.org.

The soapUI Interface

soapUI is a standard desktop application adhering to established ui-concepts (as available in for example eclipse, IDEA, etc). Most actions have keyboard shortcuts and tooltips, you should have no problems finding your way around. soapUI makes heavy use of "Inspectors"; i.e. tabs that can be shown/hidden by selecting them.

The soapUI window is divided into the following views:

left

The main navigator showing a hierarchy of all projects/interfaces/etc. (see below)
  • Selecting an item will show available overview information in the bottom-left "Properties" panel
  • Double-clicking or pressing enter on a selected item will open the items' editor to the right (if available)
right

The soapUI "desktop" containing editors/viewers for those double-clicked items in the navigator.
  • Cycle between active panes with Ctrl-Tab or use Ctrl-W to switch
  • Maximize/Minimize/Resize/Move as usual using each panes window menu
  • Focusing on a pane will automatically put focus on its item in the navigator (scrolling into view if necessary)
bottom-left
  • The Properties panel will show information on the item currently selected in the navigator
bottom right

A color-coded log view showing log messages from soapUI

(One can set a centered background image for the default desktop by placing a soapui-backgroung.gif/jpg/png file in the soapUI bin folder when using the default desktop)

The Navigator

The following objects are currently shown in the navigator tree:
  • Projects node : the soapUI workspace
    • Project node(s) : for each project in the workspace

      • Interface node(s) : for each interface in the project

        • Operation node(s) : for each operation in the interface

          • Request node(s) : for each request created for the operation

      • TestSuite node(s) : for each TestSuite in the project

        • TestCase node(s) : for each TestCase in the testsuite

          • TestSteps node, contains the TestCases'

            • TestStep node(s) : for each TestCase-step, together with a colored icon indicating the status of that step.

          • LoadTests node, contains the TestCases'

            • LoadTest node(s) : for each loadtest in the containing TestCase

      • MockService node(s) : for each MockService in the project

        • MockOperation node(s) : for each MockOperation in the MockService

          • MockResponse node(s) : for each MockResponse in the containing MockOperation

The tree can be navigated using the standard keyboard actions. An items' associated desktop panel can be opened by double-clicking it or selecting it and pressing Enter.

Property-Mode

The Navigator described above contains a small toggle-button on top of the tree. Pressing it will put the Navigator into "Property-Mode", displaying all Properties for their corresponding objects in the tree (green = read/write, black = read-only), giving an overview of all defined and/or available properties within a project.
  • Items containing custom properties (Projects, TestSuites, TestCases, MockServices and MockResponse) will in the tree get a "Properties" child node contain that objects custom properties.
  • Double-clicking a property prompts to set its value.
  • Right-clicking the Properties node open a menu for adding new properties.

One of the main use-cases for this mode is the possibility to drag a property from the tree into any text editor that supports Property Expansion, making it extremely easy to create property-expansions as desired. If the property being dragged contains an XML value, the XPath Selector will be displayed after a drop, allowing for further property-expansion refinement

Drag and Drop

soapUI provides extensive support for dragging/dropping items in the Navigator, resulting in corresponding Clone/Move operations, alternatively add/import actions (for example dragging a Request to a TestCase creates a TestRequest Step corresponding to the dragged Request). It is also possible to drag/drop within/between the TestSuite and TestCase editors and the Navigator to rearrange/move/copy items.

Main Menu

Most actions in soapUI are performed through toolbar buttons or context-sensitive right-button menus. The following actions are available from the main menu:

File Menu

The first 9 actions are the same as those for the Workspace popup menu, please go to the Workspaces page for details. After these come the following actions:

  • Preferences - Sets global soapUI Preferences
  • Save Preferences - Saves the current global settings
  • Import Preferences - Prompts to import global settings from another location (for example an old soapUI installation). After loading, soapUI may need to be restarted for all settings to be activated
  • Recent - Contains submenus for recent editors/projects/workspaces for easy switching
  • Exit - Prompts to exit soapUI
  • Exit without saving - prompts to exit soapUI without saving anything
  • Online Help - displays this page in an external browser
Tools Menu
  • Contains actions for invoking integrated tools as described in the Tool Integrations section.
Desktop Menu - Shows actions related to the currently selected Desktop.
  • Switch Windows - opens a "Switch Window" dialog for switching to another open editor
  • Maximize Desktop - hides/shows the Navigator and Log-Inspectors
  • Close Current - closes the currently active desktop pane
  • Close All - closes all desktop panes
  • Closes Others - closes all desktop panes except the currently active one
Help Menu - general information and soapUI Pro specific actions
  • User Guide - Opens the soapUI User Guide
  • Getting Started - Opens the soapUI Getting Started documents
  • System Properties - Opens a list of all currently defined system properties (see below)
  • Update License (soapUI Pro only) - see License Management
  • Show License Details (soapUI Pro only) - see License Management
  • soapUI.org - Opens http://www.soapui.org
  • About soapUI - Shows a version information dialog

System Properties

The System Properties option from the help menu opens a simple dialog showing all current defined system properties, which can be useful for debugging system/security settings, etc?

Log Tabs

The bottom right of the soapUI workspace contains a number of log windows, each displaying corresponding output;

Right clicking on a log will show a popup menu with options to clear and enable/disable the log and to copy selected rows to the clipboard. Also, log-entries can be selected/copied to the clipboard for transfer to external tools. An option to set the maximum number of rows is available (default is 1000), when exceeding this limit, old rows are removed from the log (i.e. fifo).

The following tabs are currently displayed (when needed):

  • soapUI log - general notifications and messages
  • http Log - http wire log for sent http requests for viewing the actual data sent and received on the socket (disabled during LoadTesting)
  • jetty log - mock-service related status notifications from
  • groovy log - log messages from groovy scripts using the available log object (disabled during loadtest but can be enabled from File/Preferences/UI Settings)
  • error log - log with diagnostic information for errors that arise during execution, this log should be included in any bug-reports if it contains related error information. Please note that not all errors logged have to be actual errors in soapUI, for example if a target server/service is not available, a socket connection error will be shown here, which may well be due to "natural" causes.

soapUI uses log4j for logging, you can customize the log4j configuration by putting a log4j xml configuration file named "soapui-log4j.xml" in the soapUI bin directory (or the current working directory when not running from there).


Next: soapUI Preferences