26 September 2007 - 1.7.6 | home user-guide eclipse jbossws intellij netbeans maven 1.X/2.X PDF files forums bugs sourceforge

Home
Getting Started
User Guide

- Overview
  - Tabbed Desktop
  - License Management
  - Preferences
  - XPath Selection
  - Script Library
- Workspaces
- Projects
- Interfaces
  - Interface Viewer
- Operations
- Working with Requests
  - Form Editor
  - Overview View
  - Outline Editor
  - Message Inspectors
  - Attachments/Inline Files
- Functional Testing
  - Getting Started
  - TestSuites
  - TestCases
    - Test Requests
      - Assertions
      - Editor Wizards
    - Property Transfers
    - Conditional Gotos
    - Groovy Scripts
      - Examples
      - GroovyUtils
    - Properties Step
    - Delay Step
    - Mock Response
    - DataSource
    - DataSource Loop
  - Property Expansion
- Load Testing
  - Getting Started
  - Limit & Strategies
  - Execution
  - Assertions
  - Diagrams
  - JMeter comparison
- Mocking
  - Getting Started
  - Mock Services
  - Mock Operations
  - Mock Responses
- Usage Scenarios
  - Data-Driven Testing
  - Template-Driven Testing
  - Interactive Testing
  - Surveillance Testing
- Tool Integrations
  - Code Generation
  - WSDL Generation
  - WS-I Tools
  - Apache Tcp-Mon
- CommandLine Tools
  - TestCaseRunner
  - LoadTestRunner
  - MockServiceRunner
  - ToolRunner
- Keyboard shortcuts

IDE/Tool Plugins
Search soapUI site
Project Documentation

- About soapUI
- Project Info
- Project Reports

## 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, porttypes), 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"; ie 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 neccessary)
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)

### Navigator Tree Model

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. |

### Drag and Drop

soapUI Pro 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 sysem 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 usefull 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 (ie 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