......................................................................................................................................
soapUI v.2.0.2 Project Documentation
...................................................................................................................................... eviware
28 January 2008
TABLE OF CONTENTS
i
Table of Contents ......................................................................................................................................
1
User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Tabbed Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 License Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.3 Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.4 XPath Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.1.5 WSDL Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.2 Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.3 Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.3.1 Project View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.3.2 Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.3.3 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.3.4 WS-Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.4 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.4.1 Interface View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 1.4.2 Service Endpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 1.4.3 WSDL Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 1.4.4 WS-I Complicance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 1.4.5 WSDL Refactoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 1.5 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 1.6 Working with Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1.6.1 Form Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 1.6.2 Overview View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 1.6.3 Outline Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 1.6.4 Message Inspectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 1.6.5 Attachments/Inline Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 1.7 Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 1.7.1 Script Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
TABLE OF CONTENTS
1.8 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 1.8.1 Property Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 1.9 Functional Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 1.9.1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 1.9.2 TestSuites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 1.9.3 TestCases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 1.9.3.1 Test Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 1.9.3.2 Property Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 1.9.3.3 Conditional Gotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 1.9.3.4 Groovy Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 1.9.3.5 Properties Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 1.9.3.6 Delay Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 1.9.3.7 Run TestCase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 1.9.3.8 Mock Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 1.9.3.9 DataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 1.9.3.10 DataSource Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 1.9.3.11 DataSink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 1.10 Load Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 1.10.1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 1.10.2 Limit & Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 1.10.3 Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 1.10.4 Assertions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 1.10.5 Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 1.10.6 JMeter comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 1.11 Mocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.11.1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.11.2 Mock Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.11.2.1 Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.11.3 Mock Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.11.4 Mock Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.12 SOAP Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.12.1 Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
ii
TABLE OF CONTENTS
1.13 Usage Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.13.1 Data-Driven Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.13.2 Template-Driven Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.13.3 Interactive Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 1.13.4 Surveillance Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 1.14 Tool Integrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 1.14.1 Code Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 1.14.2 Apache Tcp-Mon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 1.15 CommandLine Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 1.15.1 TestCaseRunner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 1.15.2 LoadTestRunner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 1.15.3 MockServiceRunner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 1.15.4 ToolRunner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 1.16 Keyboard shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 1.17 IDE/Tool Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 1.17.1 Maven Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 1.17.1.1 Maven 1.X Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 1.17.1.2 Maven 2.X Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 1.17.2 NetBeans Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 1.17.2.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 1.17.3 IntelliJ Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 1.17.4 Eclipse Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 1.17.4.1 soapUI Nature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 1.18 Keyboard shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
iii
TABLE OF CONTENTS
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
iv
1.1 OVERVIEW
1.1
1
Overview ......................................................................................................................................
soapUI Overview Prerequisites
!"#$ % & ' (% ")* % !"#$ & ' & % ' & ' +,$ % +* +,$ " - !./ ( !." 0 The soapUI Interface
1
% & ( #2 ' , 1 1 3 34 5 6 bottom-left • The Properties panel will show information on the item currently selected in the navigator
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
bottom right A color-coded log view showing log messages from soapUI
1.1 OVERVIEW
2
&) 1 1 % 1 7 1 ' The Navigator
5 7 6 6 1 *7 &' 6 7 1 &' 6 7 ) &' 6 89 &' 6 9 5" &' 6 5" 7 5/ &' 6 5/
5/ 5" &' 6 5/ %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1 OVERVIEW
3
5/ $ 5 &' 6 5/ ,1" &' 6 ,1" 7 ,1) &' 6 ,1) ,1" ,18 &' 6 ,18 ,1) 5 1 1 %1 2 Property-Mode
5 :
% * : 3* %,3 * 7 & ; 1 ; %' 7 &*7 5" 5/ ,1" ,18 ' 3* 3 7 # %1 8 %1 * ) % (
* 2( 1 ( %(
+,$ +* " %(
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1 OVERVIEW
4
Drag and Drop
(
: /, & (
89 5/ 589 "
89 ' 5" 5/ : Main Menu
, (% % 5 6 5 < !1 !1
6 % " *
% " % * & (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1 OVERVIEW
' % / 71
% * ( ! % (
" # % (
/ 1 5 $% % "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
5
1.1 OVERVIEW
#1
& % 3" !3 ' $% % : $ % ( ( % 1 ( ) % 1 ( " % 1 ( # % *
* + % ) = +
! % ) = "
, % ) & ' * & * ' % $ ,
$ & * ' % $ , *-! % ) 6
). * % "
System Properties
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
6
1.1 OVERVIEW
7
5 " *
>
Log Tabs
5 1
4
8 1 % ( ( & ?@@@' ( & ' 5 & '6 * ! %
! % 9 1 & $ 5 '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1 OVERVIEW
8
, ! % 1% !, ! % 7 & A* " ' ! % ( % *
( 1 3 3 B7
0 B7 B7 ( 3 % B7(3 & 1 ' :(6 *
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.1 TABBED DESKTOP
1.1.1
1
Tabbed Desktop ......................................................................................................................................
soapUI Pro Tabbed Desktop * 1 #2 5 " 5 4 35 3 #1 5 ( )
2 % % % 1 1 1 & ' % %1 5 %= 1 1 1 5 %= % 3 3 0 1 ( ,1" 5/ 5 %1 1 A ( 5/
$ 5 5 C %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.1 TABBED DESKTOP
:(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
2
1.1.2 LICENSE MANAGEMENT
1.1.2
3
License Management ......................................................................................................................................
soapUI Pro License Management * % 4 & ( ' $6
" 3
5 3 3D $3 ( / 3= 3% *% 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.2 LICENSE MANAGEMENT
5 3E " $ # 3 3E $3
Command-Line, Plugins and Licenses
: % 9 5 5#2 % % * :(6 *
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
4
1.1.3 PREFERENCES
1.1.3
5
Preferences ......................................................................................................................................
soapUI Preferences 5 3*3 6 Tab
Description
HTTP Settings
Sets various HTTP-related options
Proxy Settings
Sets HTTP Proxy address and authentication
SSL Settings
Sets SSL-related options
WSDL Settings
Sets WSDL-related options
UI Settings
Sets UI-related options
Editor Settings
Sets editor-related options
Tools
Sets paths to integrated tools
WSI Settings
Sets WS-I Basic Profile validation options
Global Properties
Manages Global Properties
soapUI Pro Settings
Sets soapUI-Pro specific settings
Coverage Settings
Coverate related settings
Import Preferences
5 A (
( % *
6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.3 PREFERENCES
6
5 6 % ( &*' /./ / % " % ( ( HTTP Settings Setting
Description
User-Agent Header
Sets the HTTP User-Agent Header. If none is specified the default HttpClient header is used
Close connections after request
Disables HTTP Keep-Alives by requesting to close the HTTP connection after each request. This will have a negative impact on performance but may give more "realistic" values during load testing
Authenticate Preemptively
Send Authentication headers with each request without first receiving an authentication challenge. This is a potential security hazard but will improve performance since only one request will be required for authenticated endpoints instead of two
Include request in time taken
Includes the time it took to write the request in time-taken
Include response in time taken
Includes the time it took to read the response body in time-taken
Preencoded Endpoints
Do not URL-encode endpoints, set this if your endpoint URLs are already URL-encoded (containing for example %20 or %3A)
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.3 PREFERENCES
7
Setting
Description
Socket Timeout
The socket timeout for HTTP requests in milliseconds
Max Response Size
The maximum number of bytes to read from a response (0 = unlimited)
Max Connections Per Host
The maximum number of simultaneous connections to a specific host. Increase this value if you are running LoadTests with more than 500 threads on a particular host.
Max Total Connections
The total maximum number of connections. Increase this value if you are running LoadTests with more than 2000 threads.
Bind Address
The local address to bind to when sending requests, can be overridden on a request level (with the corresponding request property) and on a system level by setting the soapui.bind.address system variable.
Leave MockEngine
Will leave the MockEngine running even when all MockServices have stopped resulting in much faster startup-times for new MockServices and 404 errors when trying to call a stopped MockService (instead of connection failure)
Proxy Settings Setting
Description
Proxy Host
The HTTP Proxy host to use
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.3 PREFERENCES
8
Setting
Description
Proxy Port
The HTTP Proxy port to use
Proxy Username
The username sent for proxy authentications
Proxy Password
The password sent for proxy authentications
Excludes
A comma-separated list of hosts to exclude, for example "127.0.0.1:8080,myserver.com" will not use a proxy for 127.0.0.1 on port 8080 and myserver.com on any port.
SSL Settings Setting
Description
keyStore
Path to the keyStore to use when locating client certificates
keyStore password
the keyStore password
Enable Mock SSL
Enables SSL support for MockServices
Mock Port
The port for SSL connections
Mock KeyStore
The keystore to use for SSL certificates
Mock Password
The keystore password
Mock Key Password
The default keys password
Mock TrustStore
The truststore to use (optional)
Mock TrustStore Password
The truststore password
/ 9 5 ,1"
( ,12
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.3 PREFERENCES
9
WSDL Settings Setting
Description
Cache WSDLs
Turns on/off caching of WSDL's as described under Caching Definitions .
Sample Values
Generates example values in requests when creating from schema
Type Comment
Generates comments with type information in new requests
Include Optional
Always includes optional elements in generated requests
Pretty Print
Pretty prints response messages in response editor
Attachment Parts
Generates part-elements in request messages for mime-attachments in RPC messages (required by some ws-stacks)
No Content-Type Validation
Does not validate the content-type of a mime-attachment against the type(s) specified in the SOAP-Binding
Schema Directory
Specifies a directory containing schema (.xsd) files that should be automatically added when parsing/validating wsdl/requests. Changing the contents of this directory requires a restart.
Name with Binding
Tells soapUI to name imported interfaces with the name of their corresponding soap/http binding, and not with their portType (as described in Interfaces ). This ensures that WSDL containing bindings for both SOAP 1.1 and SOAP 1.2 will get unique names during import. This setting defaults to true.
Excluded Types
A list of XML-Schema types/global-elements in the form of name@namespace which will be used when generating sample requests/responses and input forms in the soapUI-Pro Form editor. By default the XML-Schema root element is added since it is quite common in .NET services and generates a sample xml fragment of about 300 kb!.
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.3 PREFERENCES
10
Setting
Description
Strict Schema Types
Check this to not allow schema-type redefinitions in included/imported xsd:s for a specific WSDL (default behavior in versions prior to 1.7.5)
Compression Limit
The minimum message size to compress in the soapUI project file for preserving space. Compression is performed with gzip and the result is base64 encoded into the project file. For large requests, this can save up to 90% file-space, but be aware that the requests are no longer readable/diffable.
Pretty Print Project Files
Pretty prints project files when they are saved, which makes it easier to work with a source-control system (diffing, etc..). Be aware that when selecting this option the size of the project files will increase substantially and also cached WSDLs/XSDs will be pretty-printed.
UI Settings Setting
Description
Close Projects
Closes all projects at startup for improved startup-time and less memory consumption.
Order Projects
Sorts Projects in alphabetical order in the navigator.
Order Requests
Sorts Requests in alphabetical order in the navigator.
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.3 PREFERENCES
11
Setting
Description
Order TestSuites
Sorts TestSuites in alphabetical order in the navigator.
Create Backup
Creates a backup copy of a projects project-file before saving.
Backup Folder
The folder where to save backups, if relative or empty the folder is relative to the project files folder
Auto Save Interval
Sets a project auto save interval (in minutes). If set over 0, soapUI will automatically save all projects that have no running tests (both Functional and Load) at the specified interval
Desktop Type
Selects which desktop layout to use. soapUI Pro adds a Tabbed Desktop as an alternative to the default layout. Changing this setting will be applied when closing the preferences dialog.
Native L&F
Turns off the use of the default Look & Feel and uses the JRE default instead. Requires a restart.
Do not disable Groovy Log
Keeps the groovy log active during LoadTests, which can be useful for debugging, etc.
Show Log Tabs
Editor Settings
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
Expands the log tabs when starting soapUI.
1.1.3 PREFERENCES
12
Setting
Description
Editor Font
The font to be used by all XML Editors. The "Select Font" button opens a dialog for selecting the desired font and size.
XML Line Numbers
Shows line-numbers by default in all XML-Editors (use Alt-L in editors to toggle).
Groovy Line Numbers
Shows line-numbers by default in all Groovy-Editors (use Alt-L in editors to toggle).
Disable auto-resize
Disables automatic resizing of request/response editors.
Tabbed Request view
Sets the tab-layout as the default layout for request/response editors (see Requests ).
Validate Requests
Turns on automatic validation of requests before they are submitted from a request editor. The validation performed is the same as when pressing Alt-V in the editor.
Abort on Invalid
Enabled in conjunction with "Validate Requests", if selected any requests that fail validation will not be submitted.
Validate Responses
Turns on automatic validation of response messages when they are received in a response editor. The validation performed is the same as when pressing Alt-V in the editor.
Integrated Tools
* 5 5 WSI Settings
5 !"% F !"%
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.3 PREFERENCES
13
Setting
Description
Verbose
Sets verbose output of WS-I tools
Results Type
Sets which results to show in the generated report
Message Entry
Shows message entries in report
Failure Message
Includes defined failure messages in report
Assertion Description
Includes description of each test assertion in report
Location
Local path to installed wsi test tools
Show Log
Shows Log window when running WS-I tools
Output Folder
If specified, generated HTML reports will automatically be exported to this folder, which is required when running ws-i validation from the command-line or one of the Maven plug-ins
Global Properties
, 5 32 )3 1
& * '
soapUI Pro Settings
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.3 PREFERENCES
14
5 * Setting
Description
Default Request Editor
Sets the default Message Editor to use when a Request is opened
Default Response Editor
Sets the default Message Editor to use when a Response is received
Outline Editor Limit
Defines the maximum size of messages to handle in the outline editor; since the outline editor consumes a large amount of memory, setting a limit related to one’s own memory settings is encouraged
Table Inspector Columns
Sets the maximum number of columns displayed by the Table Inspector (due to performance reasons).
Form Editor Limit
Defines the maximum size of messages to handle in the form editor; since the outline editor consumes a large amount of memory, setting a limit related to one’s own memory settings is encouraged
Script Library
Sets the location for the local Script Library .
Coverage Settings
5 * !"#$ / Setting
Description
Count Empty Values
Sets empty elements/attributes to count as covered
Count ? Values
Sets elements/attributes containing ? to count as covered
Auto Prepare
Automatically prepares for Coverage calculation when opening a window containing Coverage content.
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.3 PREFERENCES
:(6 +* "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
15
1.1.4 XPATH SELECTION
1.1.4
16
XPath Selection ......................................................................................................................................
soapUI Pro XPath Selection Dialog * +* !0 " +* ( 9 6 5 +* 5 * %5 5 ,1) 5 / = 5 % ( : +* ( "
)G +* (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.4 XPATH SELECTION
:(6 " $
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
17
1.1.5 WSDL COVERAGE
1.1.5
18
WSDL Coverage ......................................................................................................................................
WSDL Coverage * 9 !"#$ / 0 !"#$ A 5 ,1" ,1 / ")* , 5 !"#$ / 1 / 5 H Coverage for Web Services
5 & ( ' I % ( & %' 5 % ! " !"#$ 1 A 5 !"#$ / 0 & ( ' 58 5
0 4 3, / 3 A 0 +* 5 , / 3 / 3 Coverage Visualization
/ 3/ * 3 6 / / ) ( / 8 / 55 7 5 / F 0 9 &3, / 3' , / 9
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.5 WSDL COVERAGE
19
) 6 8 $ % " 8 6 5 / 4 +* " 5" 5/ 5" 5"
The Coverage Tree
5 / 5 C 6 ? 5 * 7 ) A 89 8 5 /
3 3 ( ) / J<
89 8 / 5 8 A 5 8 &@?' C 5 5" 7 5" 5/ 5" 5" , 2( 5 8 3, 3 " 9 3, /3 & ' " 3, / 3
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.5 WSDL COVERAGE
20
# %1 Assertion Coverage
5 +* 0 !"#$ / 1% / 5 , , / +* ( 8
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.1.5 WSDL COVERAGE
Coverage Options
5 / ) 6 / 2 F % / K F % K
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
21
1.1.5 WSDL COVERAGE
22
Coverage Measurement Points
. 6 ? A A 5 % !"#$ 5 / * *7 5" 5/ C A ,1" % !"#$ 1 !"#$ 0 ,1 . A ")* , % !"#$ % :(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.2 WORKSPACES
1.2
23
Workspaces ......................................................................................................................................
Workspaces !1 *7 &7 1 ( '6 # 1
${user.home}/default-soapui-workspace.xml " 1
:" !1 1 ( 1 7 1 1 7 1 & ' 7 %1 1 & ' *7 1 !1 *7
! ( 7 1 ( 1 ( 7 ( & ' Open/Closed Projects
*7 % 4 7 %1 % / 7 7 1 1 " & * ' 7 1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.2 WORKSPACES
24
Workspace Actions
5 1 % % & 3A3 '6 0 & $ 6 * !"#$ *7 6 * ( % 7 5 7 1 7% % 6 * 8$ ( % 7 5 7 1 % & 8 *7 '
) % " 7 " ) ( % ) 7 ( ) " % * 7 % 8 !1 : 0 &% % * 1
&% % * ( 1 & 7 1 ' " # % # (
Workspace Details Tab
5 3# 3 % 1 0 6 1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.2 WORKSPACES
$ 6 1 1 : & %'6 1
:(6 *7
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
25
1.3 PROJECTS
1.3
26
Projects ......................................................................................................................................
Projects 7 !1 & ' ( *7 : 6 ")*E55* D *5 5" 5/ ) ,1" ,1 ) 7 (% & ' 5 1 /F" % !"#$ & ' & ' ! (
7 1 3 *73 !1 7
% !"#$")* &1 com.eviware.soapui.model 1 ' / !"#$ ?? ")*E55* & 9 D * ?@' 5 Creating Projects
" : !"#$ *7 !1 , 6 7 9 !"#$ 7 & 8$' 9 !"#$ 7 & 7 7% ('
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3 PROJECTS
27
) 7 & <project-name>-soapui-project.xml' * +,$ 1 "/, +,$ Remote Projects
?LM 7% &' % &
' ! 8$ 7 1 8 7 1 %
5 6 *7 9 ( 5 % % 7 0
7 8 7 7 ( 7 3" 3 *7 ,
7 % 7
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3 PROJECTS
28
Project Actions
5 7 % 6 ) & $ * % * !"#$ 8$ ) & $ % * !"#$ % ) % 58 % ) % $ 58 0
% * 5" 7 0 % % * ,1" 7 % * 7 5 5 7 % * 7 1 5 7 1 1 9 % * 7 ( ( % * 7 1
% " 7 7
) % " 7 7 " # % # (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3 PROJECTS
29
Project Details Tab
5 3# 3 % 1 0 6 7 $ 6 7 7 : & %'6 7 7% ( $ 6 7 & / # ' 5 3/ !"#$3 !"#$ *
Project View
! 1 7 *7 F 5 7
1 7 5 *7 7 5 ( 5 5 6 " . 5 9 1 7
7 5" 7 8 , (! . 1 ",2 *7 / 7 5 1
5 N 8 , 3 . 1 ",2 5 *7 89
9 8 , & 4 , (! . 5 !"%" / 5 1 !"%" 5 ")* , ,1" 8 ,
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3 PROJECTS
:(6 *7 )
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
30
1.3.1 PROJECT VIEW
1.3.1
31
Project View ......................................................................................................................................
Project View Tab: Main View
5 7 7 5 , ,1" , 5 9 1 7
! 7 Description Inspector
5 # *7
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3.1 PROJECT VIEW
32
Description Inspector
5 * *7 * 5 *7
Load Script Inspector
5 $ " = " 7 5 *7 * *7 89 (
Save Script Inspector
5 " "
$ " = " 7 5 *7 89 (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3.1 PROJECT VIEW
:(6 *7 /
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
33
1.3.2 COVERAGE
1.3.2
34
Coverage ......................................................................................................................................
Project Coverage *7 / / 5 / 7 / / 8 / * 5" 7 ( 5 ( 38 $ 3 5" 5/
:(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3.3 REQUIREMENTS
1.3.3
35
Requirements ......................................................................................................................................
Project Requirements *7 89 & * ' 9 7 ( ( 9 5 9 5/ 9 1
Menu Bar
5 *7 89 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3.3 REQUIREMENTS
36
) 3 89 3 8 89 3 89 ( " 3 2( 89 ( " Import File Format
5 ( 9 9 ) 4 # : " # "
2( 6
"TST-049","User Name Length","User Name must exceed 6 chars and be case sensitive","In Scope" "EVI-020","Cu No SQL Injection Test","Test SQL Injection","Out of Scope" "EVI-021","Loadtest Purchase","We must make sure that Purchase withstand a buying storm","Out of Scope"
Requirements List
5 9 6 $ 5 # 89 = # 5 , *7 , 1 # # 9 0 : 89
$ " # 89 $
" 89 5 89 " ( 5 5/ 5/
Requirements Inspectors
5 89 6 ( 5 89 5/ - 1 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3.3 REQUIREMENTS
% $1 89 *7 $ $ 5/
:(6 !"%"
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
37
1.3.4 WS-SECURITY
1.3.4
38
WS-Security ......................................................................................................................................
WS-Security 5 !"%" ( !"%" 1 H !"%" % 7 76 A 9 89 A 9 ,1" ,18 ,1" A 9 ")* , 7 !"%" 6 G" / % 1 ) !"" %
9 ,18 !"" %
!"%" 14 1%9 9 !"%" *7 F
Usage
5 !"%" 6 ? G/ G C / ) !"" !"" . 9 1 ) & ( ' 9
9 -
!""%1 38 3 9 ,18
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3.4 WS-SECURITY
39
Keystores
5 G / 1 % !"%" 5 G , %
G / 1 - " 1 5 G 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3.4 WS-SECURITY
40
" 6 1 &8 )' " 6 % 1 &8 ) * 6 1 9 # 6 1 # * 6 " * 6 I ""2 " * Outgoing WSS
) !"" 4 2 3!"" 23 !""% 1 5 33 9 !"" 2
! 4
2 4
5 6 Incoming WSS
!"" & ,189 9 ' " !"%" 9 1 1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.3.4 WS-SECURITY
41
!"" 33
9 1 ) 9 & 9 ' ! !"" 9 ,18 3!""3 5 6
A !"%" " 589 !"%" :(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4 INTERFACES
1.4
42
Interfaces ......................................................................................................................................
Interfaces 7 ")*E55* D *5 ) 3 !"#$ 3 9 5
Interface Actions
5 % 6 " 5 6 ) F + 46 6 1 5 ( % & 4 ( 6 1 !"% D * 6 5 , 5 , +
6 = 5" & ' + % 6 = ,1" & ' * $ 6 $ 1 ",2 6 " !"#$ !0 8 , E $ 6 &
' ( 6 7 ! %9 5/ " # % # (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4 INTERFACES
43
Updating the Interface Definition
5 3 #3
0 D *5 6 : ) )
& ' ! %9 5/ 5 6 ! 8$ & ( ' ! & ( +,$ " 5 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4 INTERFACES
44
5 6 $ * % 5 8$ & !"#$' ( 0 3 % !"#$ 9 3 % ! 9 7
589 5/ " % " 9 7 ! % G ( 9 & ' ( 8 % % " 9 9 1 9 589 "
9 * 3 % 589 7 " 3 % ) 89 589 % &
% ' & ( '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4 INTERFACES
45
Caching Definitions
D !"#$+"# 7
6 ( ! % ( 5 &% " % 1 9 ) % 9 5 7 1 7% 4 ( 1 1 *
% 7 *7 # 5 5 !"#$ & ' # Interface Details Tab
5 3# 3 % , & %'6 5 !"#$ *5 D ( $ 6 $ * & %'6 8$ & ' 8! & %'6 5 !"#$ D {namespace}name
") 5 6 5 ")* F 4 ")* ?? ")* ?C 5 9 & ' E55* E ( & %'6 "
, & %'6 " # 8*/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4 INTERFACES
46
WSDL Importing Details
! !"#$ 3 !"#$ 3 7 4 5 !"#$ !"#$ " !"#$ 1 ) !"#$ 7 & ")* ???C ' ")* D A D *5 ) ) 9 & ' 9 2 D *5 3: D 3 !"#$ " 5
!"#$ D !"#$ 6 !"#$ " 3 3 & !"#$ ' D 3 3 !"#$ " & (
( ' & ' 1 & ' D 1 ! +,$%" ( !"#$ 6 6. C@@B@J( 6 +)* ,5), 6. C@@B??( 6 ( ,5), 6. C@@O@O( 6 ( ,5), 6. +,$?<<J 6 +,$ : 6% ??( 6 ")*
6. C@@?+,$" 6 +,$ " !"#$ "
4 3" #3 : % 9 :(6 )
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4.1 INTERFACE VIEW
1.4.1
47
Interface View ......................................................................................................................................
Interface View Tab: Main View 5 7 !"#$ " D 5 9 1
* ) ! $ ' :(6 " 2
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4.2 SERVICE ENDPOINTS
1.4.2
48
Service Endpoints ......................................................................................................................................
Service Endpoints " 3" 2 3 ( !"#$ 8$ 8$% 3* 2 3 E " 9 ! 9
" 89 589 9 5 )! 9 6 - all requests - 6 9
- all requests with no endpoint - 6 9
<endpoint> 6 9
589 3" 5/ 2 3 5/ 2
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4.2 SERVICE ENDPOINTS
! 3)13 9 %9 :(6 !"#$ /
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
49
1.4.3 WSDL CONTENT
1.4.3
50
WSDL Content ......................................................................................................................................
WSDL Content 5 !"#$ !"#$+"# 5 2 1 4 Double-click on
will focus on (if available)
Global Element
its Complex Type
Message Part
its Complex Type or Global Element
Operation input/output
its Message
Binding Operation input/output
its corresponding Operation input/output
Port
its Binding Operation
5 & ' D 1 % A % ( & 1' # % !"#$% # 2( !"#$ % ( 5 * * *4
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4.3 WSDL CONTENT
:(6 !"% /
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
51
1.4.4 WS-I COMPLICANCE
1.4.4
52
WS-I Complicance ......................................................................................................................................
WS-I Tools Integration
!"% 0 D * C 6 ? 5 ! & $ % , 3/1 !" / 3 5 !"% 5 5 !"#$ C 5 ! ") 3 / ! % 89 2 3/1 !" / 3 & , F ' 7 /P & ' !"% 5 5 ?? !"% ) 0 3%%3 4
WS-I Reports
! !"% 0 !"% 0 1 4
!"% / 8 1 1 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4.4 WS-I COMPLICANCE
5 ( E5,$ 3/ 3 1 !"% ( 6
Displaying Tool Output
" 3" $ 3 !" " 5 %
4
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
53
1.4.4 WS-I COMPLICANCE
:(6 !"#$ 8
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
54
1.4.5 WSDL REFACTORING
1.4.5
55
WSDL Refactoring ......................................................................................................................................
WSDL Refactoring ! !"#$ 9 ( +* ( ( 5 !"#$ 8 *
0 ( ( - Getting Started
! !"#$ 38 3 * 6
" # 8$ !"#$ 9 1 9 " :( 0 !"#$ & 9 '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4.5 WSDL REFACTORING
56
) & ' 4 & '
3/3 3#3 * :( 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4.5 WSDL REFACTORING
57
5 6 5
9 1 7 5 E
5 9 & ' 9 & '
9 32 , 3 7 &* 2 , 1( 1 ' / 8
, ( 9 8 %
5 8 ) " * 9 1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.4.5 WSDL REFACTORING
58
D : " ( 5 5 A 1( ! ( :(
5 +* ( 7 5 7 +* %( &
' " +* 5 : +* ( +* & (' % : +* ( * : +* +* " A 7 ( %( :(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.5 OPERATIONS
1.5
59
Operations ......................................................................................................................................
Operations ! *5 5 % 6 ) % % ,1) ( ,1" ) % & * ' % ,18 " ( 5/ 0 3 % 89 1 . % " # % # (
Operation Details Tab
5 3# 3 % ) $ 6 :
")) & %'6 ")* ")*E55*
" & %'6 5 *5
, & %'6 " # 8*/ & %'6 5 ( & ' " & %'6 5 ( & '
)
& %'6 " ,
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.5 OPERATIONS
)
& %'6 " , "4&, & %'6 " % & 9 '
:(6 !1 89
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
60
1.6 WORKING WITH REQUESTS
1.6
61
Working with Requests ......................................................................................................................................
Working with Requests 9 2 9 89 9 % 1 9 & ' Request Actions
5 9 % 6
3 % 89 2 ) ( % 9 5/ 5/
5" 5/ 9 ) % % 9 ,1" 9 ,18 ) % 1* ,2 % ,18 " 9 ( 5/ 9 (, 3 1* ,2 % 9 ( 589 & ' ( 3 % 9 9 9 % % 9 $ % 9 " # % # (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
62
Request Details Tab
5 3# 3 % 89 = * 0 6 9 $ 6 9 9 : ! ' 6 5 9 & ' ! 6 5 9 6 5 9 8 ) 6 5 * 9 " * & ' * 6 5 9 9 6 5 9 9 $ 6 5 9 9 :5$, ' &
4 , 6 " !"%" 1 9 5 * &
4 6 !"" 55$ 1 9 55$ & '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
63
%8 *
. "/ 6 2 ,5),% 9 & ' " 6 ,5), 1 9 ,5), )
6 E55* 9 & ,,2+)* ' 8 " )
6 ,5), $. 6 5 1 , )
6 5
!"#$ (% MD (D *%* *
& 6 " 9 ( 9 , ( 6 8 9 5 % 589
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
64
The Request Editor
5 9 %1 9 " 3 9 2 $
F 5 +,$ 8 * 6 ) 2 9 A 2 9 ) F 5 4 E55* E 6 9 E55* E 6 9 ""$ &8 ' 6 ""$ # * & ' ( & '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
65
Editor Toolbar
5 9 % & '
. % 9 ) ( % 9 5/ 9 % ) % & * ' % ,18 " 9 ( 5/ ) % % 9 ,1" 9 % 3 % 9 ( 9 1 9 ( , % %9 % ( 3 % 9 9 % - 9 9 9 ( 3 % 9 & 9 ' (. % %( 9 5 ( & '6 [edit current...] [add new endpoint...] [delete current...]
. , %
9 " % 9 " # % # ( Editor Layouts
5 C
35 $ 3 & '6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
66
Aut
) 89 5 !"%" !"%" 5 *7
HTTP Headers
5 E55* E E55* 9 A 9 E55* 9
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
67
SSL Details
5 ""$ # ( 9 * * *
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
68
XML Source Editor
5 9 (%
(% & * 3+,$34 3) 3 3A3 , 9 ' 5 9 Q % 6 5 % 9 % % ( ) &
4* % % !""% ")*%E 9 89 # 5 ) & 4 % !"%5 ")*%E 9 *//(,/( / // % + %
0. %
%
% % 1 1 3 % % 3 6 %2 6 9 %+ 6 % 6 "%5 6 9
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
69
Submitting requests
! 9 %2 9 D " 1 9 & ' # 9 % ( ) 9 3/ 3 %+ 9 9 # 9 1 %% ) 9 1 0 9 9 9 E55* *( http.proxyHost http.proxyPort
*( * 1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
70
Authentication
9 " 2 89 # 5 & ' /
E / D # :5$, ""$ 1 &; H' https I ""2 !""%* 5 !""%55$ 89 # 5 !"%"
4
Message Validation
! %F 9 4 ? 5 C 5 ")* !"#$ ")* . ,,2 5 F %( # 1 & ' % )1% F
% & ' ")*%
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
71
5
9 % 3/1 !"% / 3 " & !"% ' 9 !"% / !"%
Copy Requests
* 1% 589 5 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6 WORKING WITH REQUESTS
5 6 % 3 % 589 ( 8 % % 1 589 ( 9 " 3 % 589
! 1 ( 9 6 (, 6 ) 589 &' * 6 , 89 589
7 ! 6 ) 589 ( 589 89 &* 9 ' :(6 A
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
72
1.6.1 FORM EDITOR
1.6.1
73
Form Editor ......................................................................................................................................
soapUI Pro Form Editor 5 %
+,$%" 9 5 * * * 4
5 F / / 9 9 F 1 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.1 FORM EDITOR
74
D 5 3F 5 3 6 % & ' , % # % 5
9 , # % A ( 9 3# 3
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.1 FORM EDITOR
5 Datatype Support
" * ?LM A 2 +,$%" %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
75
1.6.1 FORM EDITOR
76
5 9 3 3 % 3" F 3 ( 6
Schema Support
5 A 2
+,$%" ( 5 %1 +,$ "
+,$ " 1 & ' 5 1 6 " 4 () ? ( 2 D %( D 1 %
3D3 ( R " "9 / ( % / %(
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.1 FORM EDITOR
77
, ( 2 ( ( ( , * ?%CO@ , * & ( S@T' 5 % ")*%2 1 1 ?LM U 9 9 % 1 :(6 ) F
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.2 OVERVIEW VIEW
1.6.2
78
Overview View ......................................................................................................................................
Overview View * 3)3 0 1%9 % 2 1 & ' +,$) 5( 8$ ( 4 8$ 1 (
:(6 ) 2
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.3 OUTLINE EDITOR
1.6.3
79
Outline Editor ......................................................................................................................................
soapUI Pro Outline Editor 5 * ) 2 9 % 5 = % : 5 % 5
%
5 & '6 / &$5V"EA5V/' 2( &$5V"EA5V2' / &$5V/58$V/' 2( &$5V/58$V2'
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.3 OUTLINE EDITOR
, ( 1
&$5V#)!:' , 1
&$5V*' , &$5V$2A5' , ( &$5V8=E5' 5
5 %/ E % 5 1 ) %5 6 #)!: % ( * % $5V/ % & ' $5V2 % ( & ' % +* * %5 2( ,1 8 5 89 :(6 ,
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
80
1.6.4 MESSAGE INSPECTORS
1.6.4
81
Message Inspectors ......................................................................................................................................
Message Inspectors * (% +,$ " ) 2 ( 5 6 +"# % +,$ " 5 % +,$ % +,$ +* # % / % , / 2
Coverage Inspector
! , / 9
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.4 MESSAGE INSPECTORS
82
&K' 1 3# F 3 1( XSD/XML Schema Inspector
5 +,$ " +,$ "
A & ( 9 ' ( 5 5 89 / ")* E 9 * * *
: 9 !"#$ (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.4 MESSAGE INSPECTORS
83
Table Layout Inspector
5 5 4 A ) 3 3 1 5 5 0 4
XML - XML Fragment/XPath Inspector
5 +,$ A +* +,$ ) 2 +* ( /%/ 5
+,$ 0 4
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.4 MESSAGE INSPECTORS
Doc - XML Schema Documentation Inspector
5 # 5 ) 2 " 2 * * * 9 4
:(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
84
1.6.5 ATTACHMENTS/INLINE FILES
1.6.5
85
Attachments/Inline Files ......................................................................................................................................
Working with Attachments / Inline Files
1 6 ,5), % 0 ")* , ")* * % ,,2% ")*E55*
% % & & ' ,5),
( #,2' D ,5), 9 89 # 5 9 !"#$ # & ' 9 The Attachments Tab
5 9 9 A 9 9 A 5 ,5), A
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.5 ATTACHMENTS/INLINE FILES
86
5 % 6 0 & %' % 5 ( 4 , % 5 %
' & %' % 5 0 % 5 & ' , & %' % 5 & * ' ( $ % # 1 % !"#$ # %1 & ' % Attaching files
9
% 9 3 A3 % ! 4 / * & ' : 7 ) * 6 ,,2 !"#$ * % I 9 ")*%% 8 36+++3 +++ % 8 9 & MB (' 36+++3 +++ % & ' " ,,2 & ' +)* & ,5), ' /):52:5 & ' "!82A & 8 ' :G:)!: & ' MIME Attachments
,,2 !"#$% ")* ! ,%* A ( 9 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.5 ATTACHMENTS/INLINE FILES
87
<wsdl:definitions xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd" ... <wsdl:operation name="SendClaim"> <soapbind:operation soapAction="http://example.com/soapaction"/> <wsdl:input> <mime:multipartRelated> <mime:part> <soapbind:body use="literal" parts="ClaimDetail" namespace="http://example.com/mimetypes"/> <mime:part> <mime:content part="ClaimPhoto" type="image/jpeg"/> <wsdl:output> <soapbind:body use="literal" namespace="http://example.com/mimetypes"/>
5 * %(6
swaRef Attachments
5 !"% * swaRef 8 cid:somename 3 3 A ( 9 6 <wsdl:definitions xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd" ... <wsdl:types> ... <xsd:element name="ClaimForm" type="ref:swaRef"/>
( 6
cid:claimForm
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.5 ATTACHMENTS/INLINE FILES
88
* %(6
MTOM Attachments
5 ,5), 0 ")*% 5 % % ( & ?LM 9 4 ,5), ,5), ' A ( 9 6 <wsdl:definitions xmlns:xmime="http://www.w3.org/2005/05/xmlmime ... <wsdl:types> ... <xsd:element name="ClaimImage" type="xmime:base64Binary"/>
( 6
cid:claimImage
* %(6
"
,5), 89 # 5 % A - ,5), 9
3A ,5),3 9 Anonymous Attachments
" !"#$ 3 3 3W X3 A /# 9
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.5 ATTACHMENTS/INLINE FILES
89
Inline files
3 3 9 4 MBD (D 33 C 6 ? D cid:somename 3 3 8,5), ( C D file:filepath MB ( A ( 9 6 <wsdl:definitions xmlns:xmime="http://www.w3.org/2005/05/xmlmime ... <wsdl:types> ... <xsd:element name="ClaimData" type="xsd:hexBinary"/>
( 6
file:c:\data\mydata.zip
5 6Y Y 0 ( Attachment Caching
! 7 & ' 7 1 Multipart Attachments
A ,,2 8 ,5), 5 ,,2 , % 3 (3 % 89 # &32 , 3' /# /# 3W X W X3 % 1 1 Response Attachments
5
% 0 # %1 %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.6.5 ATTACHMENTS/INLINE FILES
:(6 A 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
90
1.7 SCRIPTING
1.7
91
Scripting ......................................................................................................................................
soapUI Scripting ( = & = ! " ' " 6 5/ = " 5" D 5/ 5" 0
!
,1" 0 % ,1" ! *7 0 % *7 # " # "1 # " # "1 A ,1) A ,18 A " 5 ( & 2( ' % log 7
= $ context 7 (% * 2( &
' (% 7 Script Editors
" 7 % & %1 ' 4
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.7 SCRIPTING
92
5 % & ' % * 3= # 3 ( " & ' ( def test = context.expand( '${#Project#test}' )
! *7% 33 * %, 4
3 3 & %( '
Groovy Script Library
* = / 0 1
( 4 " * * & W1
X ' * 1 3=3 ( 5 1 & O ' ( &' " 1 1 soapui.demo soapui/demo 5 % 7 8 7 (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.7 SCRIPTING
93
Example
5 ( *
= 6 package soapui.demo class Greet { def name def log Greet(who, log) { name = who; this.log = log } def salute() { log.info "Hello $name" } def static salute( who, log ) { log.info "Hello again $who!" } }
= " " 5/ 6 def greet = new soapui.demo.Greet( "Ole", log ) greet.salute()
8 = 2 & ' = 2 6 Wed Jun 27 01:36:14 CEST 2007:INFO:Hello Ole
! 6 soapui.demo.Greet.salute( "Ole", log )
! 6 Wed Jun 27 01:36:14 CEST 2007:INFO:Hello again Ole!
= ( 1 1 & ' 6 Wed Jun 27 01:39:20 CEST 2007:INFO:C:\workspace\soapui-pro\scripts\Greet.groovy is new or has changed, reloading...
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.7 SCRIPTING
4 Wed Jun 27 01:40:16 CEST 2007:INFO:Hello Ole!
:(6 !1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
94
1.7.1 SCRIPT LIBRARY
1.7.1
95
Script Library ......................................................................................................................................
soapUI Scripting ( = & = ! " ' " 6 5/ = " 5" D 5/ 5" 0
!
,1" 0 % ,1" ! *7 0 % *7 # " # "1 # " # "1 A ,1) A ,18 A " 5 ( & 2( ' % log 7
= $ context 7 (% * 2( &
' (% 7 Script Editors
" 7 % & %1 ' 4
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.7.1 SCRIPT LIBRARY
96
5 % & ' % * 3= # 3 ( " & ' ( def test = context.expand( '${#Project#test}' )
! *7% 33 * %, 4
3 3 & %( '
Groovy Script Library
* = / 0 1
( 4 " * * & W1
X ' * 1 3=3 ( 5 1 & O ' ( &' " 1 1 soapui.demo soapui/demo 5 % 7 8 7 (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.7.1 SCRIPT LIBRARY
97
Example
5 ( *
= 6 package soapui.demo class Greet { def name def log Greet(who, log) { name = who; this.log = log } def salute() { log.info "Hello $name" } def static salute( who, log ) { log.info "Hello again $who!" } }
= " " 5/ 6 def greet = new soapui.demo.Greet( "Ole", log ) greet.salute()
8 = 2 & ' = 2 6 Wed Jun 27 01:36:14 CEST 2007:INFO:Hello Ole
! 6 soapui.demo.Greet.salute( "Ole", log )
! 6 Wed Jun 27 01:36:14 CEST 2007:INFO:Hello again Ole!
= ( 1 1 & ' 6 Wed Jun 27 01:39:20 CEST 2007:INFO:C:\workspace\soapui-pro\scripts\Greet.groovy is new or has changed, reloading...
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.7.1 SCRIPT LIBRARY
4 Wed Jun 27 01:40:16 CEST 2007:INFO:Hello Ole!
:(6 !1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
98
1.8 PROPERTIES
1.8
99
Properties ......................................................................................................................................
Properties 3 3 *7 3 3 & ' = " * 5 * %2( 7 4 *7 6 *7% ( # 5" 6 5" 3 3 5" 5/ 6 5/ 3 3 5/ * 5" 6 5/ $ 5" 6 5" 6 # " # "1 8 5/ ,1" 6 ,1" ,18 6 ,18 = * 6 = ( 7 ( 3 3 Property Editors
* 6 5 8/ ( ! * 2( * 5 Global Properties
= = *
% ( % %# A ( % 3 (3
test.a.property=hello!
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.8 PROPERTIES
100
, 7 set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx256m -Dsoapui.properties=properties.txt
* %2( 589 2 ${test.a.property}
! ( 6 01:20:05,234 INFO [PropertyExpansionRequestFilter] Loaded 52 properties from [C:\workspace\core\project.properties]
5 7 ( ( Property Expansion
( &3( 3' 5 ( 6 ${[scope]propertyName[#xpath-expression]}
6 #Project# % *7 #TestSuite# % 5" 5" #TestCase# % 5/ 5/ #MockService# % ,1" ,1" #Global# % & ' [TestStep name]# % 5" 5/
, 1 P,1"P 5/ ,1" 6 ? /1 ( & ( 58 /(' C /1 . /1 ( +* ( & +,$' (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.8 PROPERTIES
101
( 3( 3 6 ${Search Request#Response#//ns1:Item[1]/n1:Author[1]/text()}
! 38 3 3" 89 3 : ( ( 3 3 5/ 5" 5 7 & ( ' 5/ 5" *7 4 5/ * %5 =% 5/
5/
&5/ " ' * 5
%( ) ( 9 * 5 9 Nested Properties
%( & H' ( 6 test = "value" testexp = "${test}" -> "${testexp}" evaluates to "value"
testexp = "value" exp = "${exp}" -> "${test${exp}}" evaluates to "value"
testxml = "
hello" testxpath = "//value[@id=${id}]/text()" id = "123" -> "${#testxml#${testxpath}}" evaluates to "hello"
Property-Expansion Points
* %(
6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.8 PROPERTIES
102
9 1 & ,18 /( 8 " ' " : +* +N / :%/ 89 9 1% E55* E * %5 +* ( # " & * ' ,18 & * ' * F # "1 ) !""% ",$ ( ( 1
H Built-In Properties
5 %( % 5 : 3* %,3 Request
The configures request message
Response
The last response message (read-only)
Endpoint
The current endpoint for the request
Username
The current username for the request
Password
The current password for the request
Domain
The current domain for the request
Properties
the properties' value
GroovyScript Step result
the value returned by the script from its last run (read-only)
script
the script itself
Run TestCase Step
the properties' value
DataSource Step (soapUI Pro only)
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.8 PROPERTIES
103
the properties' value (read-only)
DataSink Step (soapUI Pro only)
the properties' value
MockResponse Step (soapUI Pro only) Request
The last request message (read-only)
Response
The configured response message
:(6 $ 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.8.1 PROPERTY EXPANSION
1.8.1
104
Property Expansion ......................................................................................................................................
Properties 3 3 *7 3 3 & ' = " * 5 * %2( 7 4 *7 6 *7% ( # 5" 6 5" 3 3 5" 5/ 6 5/ 3 3 5/ * 5" 6 5/ $ 5" 6 5" 6 # " # "1 8 5/ ,1" 6 ,1" ,18 6 ,18 = * 6 = ( 7 ( 3 3 Property Editors
* 6 5 8/ ( ! * 2( * 5 Global Properties
= = *
% ( % %# A ( % 3 (3
test.a.property=hello!
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.8.1 PROPERTY EXPANSION
105
, 7 set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx256m -Dsoapui.properties=properties.txt
* %2( 589 2 ${test.a.property}
! ( 6 01:20:05,234 INFO [PropertyExpansionRequestFilter] Loaded 52 properties from [C:\workspace\core\project.properties]
5 7 ( ( Property Expansion
( &3( 3' 5 ( 6 ${[scope]propertyName[#xpath-expression]}
6 #Project# % *7 #TestSuite# % 5" 5" #TestCase# % 5/ 5/ #MockService# % ,1" ,1" #Global# % & ' [TestStep name]# % 5" 5/
, 1 P,1"P 5/ ,1" 6 ? /1 ( & ( 58 /(' C /1 . /1 ( +* ( & +,$' (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.8.1 PROPERTY EXPANSION
106
( 3( 3 6 ${Search Request#Response#//ns1:Item[1]/n1:Author[1]/text()}
! 38 3 3" 89 3 : ( ( 3 3 5/ 5" 5 7 & ( ' 5/ 5" *7 4 5/ * %5 =% 5/
5/
&5/ " ' * 5
%( ) ( 9 * 5 9 Nested Properties
%( & H' ( 6 test = "value" testexp = "${test}" -> "${testexp}" evaluates to "value"
testexp = "value" exp = "${exp}" -> "${test${exp}}" evaluates to "value"
testxml = "hello" testxpath = "//value[@id=${id}]/text()" id = "123" -> "${#testxml#${testxpath}}" evaluates to "hello"
Property-Expansion Points
* %(
6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.8.1 PROPERTY EXPANSION
107
9 1 & ,18 /( 8 " ' " : +* +N / :%/ 89 9 1% E55* E * %5 +* ( # " & * ' ,18 & * ' * F # "1 ) !""% ",$ ( ( 1
H Built-In Properties
5 %( % 5 : 3* %,3 Request
The configures request message
Response
The last response message (read-only)
Endpoint
The current endpoint for the request
Username
The current username for the request
Password
The current password for the request
Domain
The current domain for the request
Properties
the properties' value
GroovyScript Step result
the value returned by the script from its last run (read-only)
script
the script itself
Run TestCase Step
the properties' value
DataSource Step (soapUI Pro only)
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.8.1 PROPERTY EXPANSION
108
the properties' value (read-only)
DataSink Step (soapUI Pro only)
the properties' value
MockResponse Step (soapUI Pro only) Request
The last request message (read-only)
Response
The configured response message
:(6 $ 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9 FUNCTIONAL TESTING
1.9
109
Functional Testing ......................................................................................................................................
Functional Testing
! " 5/ 5" ( 9 5 ( 5"
5/ 0 5" 7 A 6 6 ! " / 6 ! " * 6 9 9 # # 6 1 9 ( & ( ' :(6 5"
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.1 GETTING STARTED
1.9.1
110
Getting Started ......................................................................................................................................
Getting Started with Functional Testing : !"#$ 9 5/ 9 &;3 3' 9 9 &;3 3' A & = $ ' ( ( % ! 3= " 3 7
7 0 ! " 5 ( 5" 5/ 5" 6 Create a TestCase from some request
) 9 1 5/ " 9 &3 9 % 3' 5" 5/ 7 1 3 0 5" 3 3 0 5/ 3 9 3" ?3 / 5" 5/ 9 5%89 9 & 1 9 ' %9 % 9 % 9 4 8 5" 5/ =
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.1 GETTING STARTED
111
Add Assertions
: %9 1 " 9 &3 %9 3' " 3" / 3 1 !"#$" 5 9 & ' * 9 % 9 %9 1 8 =
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.1 GETTING STARTED
Now run your test!
) % 9 5/ # %1 % % 8 % 38 5/ 3 %9 ( 8 %
:(6 = " $ 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
112
1.9.2 TESTSUITES
1.9.2
113
TestSuites ......................................................................................................................................
TestSuites 5" 5/ ! 5" 5/ ( 9 Generating TestSuites
" 3= 5" 3 5" 5 4
% ( 5"
, % C 6 ? ) 5/ ) % 5" 5/ C " 5/ 89 ) % 7 H
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.2 TESTSUITES
114
3 ( % C 6 ? ( 89 % ( 9 589 C / 2 89 % 9 589 " % " + % / $ 5 5/ TestSuite Actions
5 5" % 6 "
% ) 5" 8 $./.
% # 2 5" 0 ( % 5/ 5" (
% 5" 5/ 5" % % 58 % 5" % 5" 7 5/ " # % # (
TestSuite Details Tab
5 3# 3 % 5" 0 6 5"
TestSuite Runner
# /1 5" 5" 8 5/ * D 5/ %1 5/ 5/ 5/ *
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.2 TESTSUITES
115
D 5/ 5" ( 5 & '6 6 8 5/ ( 6 / 0 ( 6 * 5/ 5" 3 6 5
5/ 9 6 5
5/ ( 1* ,2 6 2( E5,$ 8 5" & ' 5 9
5" $ 5/ 5/ & '6 # 6 5" * 6 5/ " " 6 5" 5 # " 6 5" 5 5" 5"
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.2 TESTSUITES
Generating Reports
*
5" 5 ( 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
116
1.9.2 TESTSUITES
117
" 3/ 8 3 ( E5,$ 6
( 6
TestSuite Coverage
5 5" / / *7 / * 2 / 5" ( / / * " *7 /
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.2 TESTSUITES
:(6 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
118
1.9.3 TESTCASES
1.9.3
119
TestCases ......................................................................................................................................
TestCases
5/ 5" ( 9 $ 5 5/ 5/ 2 5" 5/ ( 5" ( = " 3 3 89 " 1 * 2( ( TestStep Types
/ 4 Step Type
Short Description
Request
Sends a SOAP request and allows the response to be validated using a variety of assertions.
Property Transfer
Used for transferring property values between two test steps.
Groovy Script
Runs a Groovy script that can do more or less "anything".
Properties
Used for defining global properties that can be read from an external source.
Conditional Goto
Allows any number of conditional jumps in the TestCase execution path. Conditions are specified as XPath expression and applied to the previous request steps response.
Delay Step
Pauses a TestCase run for the specified number of milliseconds
Run TestCase Step
Runs another TestCase from within an existing one
DataSource Step
Reads external data to be used as input to requests, etc - soapUI pro only
DataSourceLoop Step
Used together with a DataSource to specify looping for external data rows - soapUI pro only
DataSink Step
Writes properties to an external storage - soapUI pro only
MockResponse Step
Waits/Listens for an incoming SOAP Request that can be validated and return a mock response - soapUI pro only
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3 TESTCASES
TestCase Actions
5 5/ % 6
( % 5/ 2 $./. ( % 5/ " % 5/ ) ) 46 % 5" 5/ 0 % $ 5 5/ ( ( 1 .2 % 5/ 5" (
1* ,: .2 % 5" 5" ( % 5" 5/ % 5/ % 5/ 5" % $ 5/ 8 ( * % 5/ 5/ ( $ % 5/ 5/ " # % # (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
120
1.9.3 TESTCASES
TestCase Details Tab
5 3# 3 % 5/ 0 6 5/ Clone TestCase
" 5/ 5/ 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
121
1.9.3 TESTCASES
122
7 9 7 Clone TestSteps (soapUI Pro only)
" 5" 5/ 6 5 % & ( % ' 5/ 5"
& ' 7 9 7
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3 TESTCASES
123
The TestCase Editor
# %1 5/ " ( 5/ 5/ % 5 B & '6 % 5/ 5/ 4 5" % 5" 5/ 5/ / % / * 5/ 5/ 89 % 89 5/ 5/ & '6 # 6 5/ * 6 5/ " " 6 = 5/ 5 # " 6 = 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3 TESTCASES
5 5/ $ ( 6 6 ! 5/ ( 5" 1 ) 5" E 5/ 1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
124
1.9.3 TESTCASES
125
The main Toolbar
5 & ' ( % 5/ & ' ( ( % 5/ ( , %
5/ ! 5/ / 5/ ( ( % 9 5/ 5 ( % 9 5/ 5 5 8$ %9 5 9 5/ ( " % 5/ ) ( 1* ,2 6 2( E5,$ 8 5" & ' " # % # ( The TestStep List
5 5" 5" 5/ # %1
5" 8 %1 5" % 6 " % 5" & ' $./.
% 5" ( 46 % % % $ % (
% & ' * % & /% ' $ % & /%#'
% 5" " # % ) 46 %
5" 5/ # %1 5" 5" 5" & ( 89 8 F '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3 TESTCASES
126
TestCase Options
" 5/ ) 5/ 5/ 2
6 ! 1 % & * 2( ' 1
6 / E55* " 9 5/ " 1 ). 6 / 5/ 5" & ( 89 " ' ( 6 / 5/ 3A 3 5/ 5" $ "7 6 $ % 5" /1 1 % 5"
% 6 5 & ' 9 5/ ( 6 5 & '
5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3 TESTCASES
Clone TestStep
" 5" 5" 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
127
1.9.3 TESTCASES
128
7 9 7 Generating Reports
*
5/ 5 ( 5/ " 3/ 8 3 ( E5,$ 6
( 6
TestCase Coverage
5 5/ / / 5" *7 / * 2 / 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3 TESTCASES
129
( / / * " *7 /
TestCase Requirements
5 5/ 89 89 * *7 F 89 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3 TESTCASES
130
89 5/ 9 5/ $ 0 3$1 5/ 3 89 5 1
5/ ( 89 6
:(6 !1 589
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3 TESTCASES
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
131
1.9.3.1 TEST REQUESTS
1.9.3.1
132
Test Requests ......................................................................................................................................
TestRequests 5%89 ( 9 33
9 5%89 9 3 5 3 5/ 2 3 " %X 5 89 3 & ' ) 9 9 4
5%89 5/ 9 5 9 9 9 4 ; 1 ; &' 1 9 1 589 1 TestRequest Actions
5 %9 % 6 " % 5" & ' $./.
% 5" (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.1 TEST REQUESTS
133
46 % % % $ % (
% & ' * % & /% ' $ % & /%#' ( ! " % 589 & '
" % 589 : ( ) 1* ,2 % 589 589 & ' " # %
TestRequest Details Tab
5 3# 3 % 589 9 & 89 # 5 ' % 6 6 589 " 6 ) 589
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.1 TEST REQUESTS
134
Change Operation
" 589 6
5 7 ) The TestRequest Editor
# %1 589 5/ 2 * 9 89 2 ( 6 5 % 3 5 3 3 3
589 5 589
9
5/ 9 C 4 33 389 $ 3 & ' 9 The Assertions Tab
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.1 TEST REQUESTS
135
5 589 # %1 & ' ( 4 ; &' ; 1 ; 5 % 6 ) ) % (! & ' % ( & ' % % %
5 3/ 3 589 & ' Clone Assertions
* % % 589 5 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.1 TEST REQUESTS
136
5 %% 6 ) % !
% 589 ! ( % 5/ !
% 5" ! % *7 " % ( & ( ( " A " / ' ( 5" &' " % 89 589 % & % ' " )G
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.1 TEST REQUESTS
137
The Request Log Tab
5 89 $ %0 589 5 0
Request Result Viewer
! ( 89 " 5/ & $ 5' 9 9 389 8 F3 5/ $ 5 %1
"8 5 . 6 3 % 9 9 3 ! % 9 ( ,5),+)* ! %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.1 TEST REQUESTS
:(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
138
1.9.3.2 PROPERTY TRANSFERS
1.9.3.2
139
Property Transfers ......................................................................................................................................
Property Transfers * 5 5" * / * 5 5" & 5/ 5" *7 = * ' 5 3 3
+* +N ( * 5 " ( +* +N +* +N
The PropertyTransfer Editor
5 * 5 %1 * 5 5/ 5" % 5 +* +N ( % /D( %( +,$ +* ( * +* " ( +* (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.2 PROPERTY TRANSFERS
140
5 ) 6 $ 6 (, 6 6 6 A 1
& ( 589 ' ) 6 A 1 & ( 589 ' $ 6 +* : ( 589 ( 9 589 9 " # % # ( 35 $ 3 * 5 5/ 5" 5 5 $ 3/ 3
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.2 PROPERTY TRANSFERS
141
Transfer Execution
( 5/ * 5
+* (
&' +* ( +* ( & ( (&' R ' " +* ( 9 9 +* ( 3 3 5/ ( 5/ 3A 3 5/ ) 5 6 % A % & (
'
! % ) % ! +* ( ( &9 1 ?O' ! ,/! % ) 7 % +* ( * 9;, % +* ( +N ( ( 7 3 3
Working with Property Transfers
* 5 6 ? D 5" * 5 C / * 5 ) . " 5" %( B +,$ +* ( $ +* ( ( //ns1:SessionId # 9 & '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.2 PROPERTY TRANSFERS
142
O 5 &' 1 9 & ' M 8 .%O F 5 * 8 !0 PropertyTransfer Example
5 7 6 " C 9 0 ! " & 6 0!"2/"!"2/"'4 <soapenv:Envelope xmlns:ns="http://webservices.amazon.com/AWSECommerceService/2006-02-15" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns:ItemSearch> <ns:SubscriptionId>- your subscription id here- <ns:Request> <ns:SearchIndex>Books <ns:Title>Oxford
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://webservices.amazon.com/AWSECommerceService/2006-02-15"> <soapenv:Body> <ns:ItemSearch> <ns:SubscriptionId>- your subscription id here - <ns:Request> <ns:Author>? <ns:SearchIndex>Books
9 3 3
author 9 39 3 4 " +* 6 declare namespace ns='http://webservices.amazon.com/AWSECommerceService/2006-02-15'; (//ns:Author)[1]
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.2 PROPERTY TRANSFERS
5 +* 6 declare namespace ns='http://webservices.amazon.com/AWSECommerceService/2006-02-15'; (//ns:Author)[1]
:(6 / = "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
143
1.9.3.3 CONDITIONAL GOTOS
1.9.3.3
144
Conditional Gotos ......................................................................................................................................
Conditional Gotos / = +* 9 5/ ( 5" 5 5/ ( 9 5/ 5/ ( = " " 6 D 9 8 3 3 & '
8 1 & ( % ' / " ( +* +* D & ( ' The Conditional Goto Editor
5 / = 2 1 / = 5/ 2 % % 5 ( ( 5" /D( 5
( & 589 ' * +* " 5 /
+*
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.3 CONDITIONAL GOTOS
145
5 ) 6 (, 6 $ 6 6 6 & 589 ' $ 6 ( : ( 589 & ' " # % # ( Condition Examples
/ D ( ( 1 0 6 declare namespace SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'; declare namespace ns1='http://webservices.amazon.com/AWSECommerceService/2005-10-05'; declare namespace SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'; count(//ns1:Item)>0
1 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.3 CONDITIONAL GOTOS
declare namespace SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'; count(//SOAP-ENV:Body)=1
1 6 declare namespace SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'; count(//SOAP-ENV:Fault)=1
:(6 = " "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
146
1.9.3.4 GROOVY SCRIPTS
1.9.3.4
147
Groovy Scripts ......................................................................................................................................
Groovy Scripts 5 = " = ( 5/ 5 7 1 ( 6 8 ( / 5/ ( 5
( 5" 5/ * ( ! 5" ( & ' ( & ( 7 ' Y( & I !" ' The Groovy Script Editor
5 = " (% % % ( 4
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.4 GROOVY SCRIPTS
148
5 & '6 ) . 6 38 3 ) 6 (% ) ! 6 ( log 7 ) . 6 ( 5 Script Execution
! ( ( 6 testRunner 6 58 5/
!5/ 8
context 6 58 /( 5/
!58 /(
log 6 B7 Logger 7
! 38 3 C 7 1 5 log 7 5/ 3 3 2(
& ( ' Context Properties
5 % 6 % ( $ 5 5 5/ : ( ( ( % & ' ! $ 5 3@3 ( % 5/ & ' $ 5 ! $ 5 3@3 % $ 58 $ 5 <# = ) % E " 5/ 5/ ) Groovy Script Examples
= = ( 6 , 89 (6 // get request property def request = testRunner.testCase.getTestStepByName( "Request 1" );
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.4 GROOVY SCRIPTS
def property = request.getProperty( "request" ); // parse out textnodes to modify def node = new groovy.util.XmlParser(false,false).parseText(property.value); def textNodes = node["soapenv:Body"]["sam:getContactInfo"]["String_1"][0].children() // modify textNodes.clear(); textNodes.add( "test" + System.currentTimeMillis() ); // write back to string def writer = new java.io.StringWriter(); def printer = new groovy.util.XmlNodePrinter( new PrintWriter( writer )); printer.print( node ); // set property property.setValue( writer.toString() )
8 // check if time is set startTime = context.getProperty( "startTime" ) if( startTime == null ) { startTime = System.currentTimeMillis() context.setProperty( "startTime", startTime ) } timePassed = System.currentTimeMillis() - startTime if( timePassed < 60000 ) { // countdown and set name context.currentStep.name = "Groovy Step - " + (60000-timePassed) + "ms left" log.info "timePassed = " + timePassed Thread.sleep( 1000 ) testRunner.gotoStep( 0 ) } else { // reset name and pass on context.currentStep.name = "Groovy Step" log.info "timePassed = " + timePassed + ", exiting.." }
8 * " // read the file def properties = new java.util.Properties(); properties.load( new java.io.FileInputStream( "testprops.txt" )); def targetStep = testRunner.testCase.getTestStepByName( "Properties" ); // assign single property targetStep.setPropertyValue( "myproperty", properties.getProperty( "myproperty" )); // assign all properties def names = properties.propertyNames(); while( names.hasMoreElements() ) { def name = names.nextElement();
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
149
1.9.3.4 GROOVY SCRIPTS
150
targetStep.setPropertyValue( name, properties.getProperty( name )); }
5" // add a properties step testRunner.testCase.addTestStep( "properties", "another step" );
A // fail randomly if( Math.random() > 0.5 ) throw new Exception( "A random error has occurred!" );
8 1 3, E55* "3 5/ ) # HttpState 7 5/ 1 5 1 E "
6 def state = context.getProperty( com.eviware.soapui.model.testsuite.TestRunContext.HTTP_STATE_PROPERTY ) assert state != null : "Missing HttpState.." def cookies = state.cookies assert cookies.length > 0 : "Missing cookies.." for( c in 0..cookies.length-1 ) log.info cookies[c].name + " = " + cookies[c].value
1 1 9 6 def state = context.getProperty( com.eviware.soapui.model.testsuite.TestRunContext.HTTP_STATE_PROPERTY ) assert state != null : "Missing HttpState.." state.addCookie( new org.apache.commons.httpclient.Cookie( "http://www.mydomain.com", "SessionID", "1234" ))
GroovyUtils
5 = 1 = = " &,18 " ' 6 def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
= &' 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.4 GROOVY SCRIPTS
151
projectPath 6 7
setPropertyValue( String testStepName, String propertyName, String value ) 6 expand( string ) % ( * 2(
getXmlHolder( String xmlPropertyOrString ) 6 / XmlHolder 7 &
' +,$ +* ( 5 5" TestStepName#PropertyName +,$
5 +E 7 6 getNodeValue( String xpath ) 6
+* ( & S( T ( '
getNodeValues( String xpath ) 6 "
+* (
getDomNode( String xpath ) 6 #), :
+* (
getDomNodes( String xpath ) 6 #), :
+* (
setNodeValue( String xpath, String value ) 6
+* ( & S( T ; ( ' declareNamespace( String prefix, String namespaceURI ) 6
S (T ; & ( ' getNamespaces() % , ( 86 +*
(
removeDomNodes( xpath ) % #), +* ( xml 6 (
xmlObject 6 +,$D +)7 (
prettyXml 6 % (
updateProperty() 6 +E 5"
( & ( '
updateProperty( boolean prettyPrint ) 6
( #
+* ( declareNamespace +,$ , * 2( " ( = +E6 def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) log.info( groovyUtils.projectPath )
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.4 GROOVY SCRIPTS
152
// create holder for last response and log requestId def holder = groovyUtils.getXmlHolder( "Book Author Search#Response" ) log.info( holder.getNodeValue( "//ns1:RequestId" )) // create holder for request and set id holder = groovyUtils.getXmlHolder( "Book Author Search#Request" ) holder.setNodeValue( "//ns:SubscriptionId", ""+Math.random() ) // update request with updated xml holder.updateProperty()
+E , ( 6 ... log.info( holder["//ns1:RequestId"] ) ... holder["//ns:SubscriptionId"] = ""+Math.random() ...
+* ( " 6 for( author in holder["//ns1:Author"] ) log.info( author )
% ( 6 def holder = groovyUtils.getXmlHolder( "Book Author Search#Response" ) holder.namespaces["abc"] = "http://webservices.amazon.com/AWSECommerceService/2006-11-14" log.info( holder["//abc:RequestId"] )
:(6 * "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.5 PROPERTIES STEP
1.9.3.5
153
Properties Step ......................................................................................................................................
Properties Step 5 * " * 5 =" 5
% ( ( ( & ' Properties Editor
5 * " 2 6
5 & '6 ) , 6 , 6 6 8$%
5 8$
8$ 9
6 5 * " & '
6 % 5 9
! 6 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.5 PROPERTIES STEP
154
Details Tab
5 * " # 5 & ' 6 06 5 * $ 6 * ( ! %
. % (
Step Execution
! * " ( 5/ 16 5 & 3" $ 3 ' 5 & 3" $ 3 ' 5 58 /( * 2( :(6 # 5"
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.6 DELAY STEP
1.9.3.6
155
Delay Step ......................................................................................................................................
Delay Steps # 5 " 5/ ( 5/ ) %1 $, & ?@@@'
:(6 ,18 "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.7 RUN TESTCASE
1.9.3.7
156
Run TestCase ......................................................................................................................................
Run TestCase Step 5 8 5/ 5/ 5/ 5/ 5 1
( 5/ 5/ 38 5/ 3 5" 6
" 5" 5/ ( 5 38 * 3 5/ 5/ 1 8 5/ ( The Run TestCase Editor
) 8 5/ & ' 5/ 5/ ) %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.7 RUN TESTCASE
157
5/ $
Execution
! 5"
6 ? 5 1 % 5/ C 5 5/ . 5 1 1 5/ 8 5/ B 5/ 8 5/ 5 ? . 5/ 5 # " ( 5/ 5/ 5/ 5/ 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.7 RUN TESTCASE
:(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
158
1.9.3.8 MOCK RESPONSE
1.9.3.8
159
Mock Response ......................................................................................................................................
soapUI Pro MockResponse Step * ,18 ")* 89
5 9 7 589 " 5" ( 6 / % 9 Q 5 % ( 1 7 89 " Creating MockResponse Steps
,18 3 3 5/ 5" 4
5 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.8 MOCK RESPONSE
160
: % 5 ) % " 1 % " 1 / 8 % ,18 * % * % )G ) ,18 " 6 A ) : %1 ,18 )
A 89 : %1 ,18 89 ,18 & '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.8 MOCK RESPONSE
161
A ,18 : %1 5/ (
,18 & '
The MockResponse Step Editor
5 ,18 " ,18 589 (% 0 ) 2 * 5 (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.8 MOCK RESPONSE
162
,18 5 ( ,18 7 589 ( ")*%A %
9
MockResponse Step Execution
! ( 5/ ,18 " ,1" 9 ) 9 7 1 ,18 ,18 ,1" ( ( 5/ * 5 ,18 " 7 589 9 $ 5 ,18 1 $ 5 6 ,1"
,18 ( 9 ,1" B@B 1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.8 MOCK RESPONSE
163
9 9 K / ,1" ,18 " 9 3 3 MockResponse Response Scripts
5 ( ,18 8 " ,18 /( 58 /( ( 5/ :(6 # " "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.9 DATASOURCE
1.9.3.9
164
DataSource ......................................................................................................................................
soapUI Pro DataSource Steps * 0 # " 5" 1 # " 5/ # " ( (% # # " +,$ # " ( 5 # "
6 I#D/ # " % I#D/ 2( # " % ( 2( &(' = # " % +,$ # " % ( +,$ A # " % ( # # " % = # " % 1 # " # " $ 9 The DataSource Editor
5 # " B 4 # " ( # " # " % 5 $ 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.9 DATASOURCE
165
5 * 3( 3 # " 8 2 # " 5 # " # " 353 # " 8 5 $ 5 3* 3 3" 3 3# " 2( 3 DataSource Options
5 # " ) 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.9 DATASOURCE
166
5 6
% # " $ 5 & ' % 5/ , % # " 5 % ( "N$ 9 I#D/ !E282 %(
% # " & ; @' % # " DataSource Execution
# 3* 3 # " 0 ( 5/ & ; ' # " & ; ' # 1 # " 1 ( +,$ # " 9 9 ( / ( 5/ (
# " # " $ " 1 ( 5 3" 3 # " $ 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.9 DATASOURCE
167
JDBC DataSource
5 I#D/ # " 6
5 B % 6 $ % I#D/ # # " , ( 7( 9 7 ( ! % %
; ;, % 9 * $
% "N$ Excel DataSource
5 2( # " 6
5 . % 6 % ( &% 1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.9 DATASOURCE
168
( % % ( Grid DataSource
5 = # " 6
5 2 ( 2( 5 5 6 $ % % ( ( % XML DataSource
5 +,$ # " 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.9 DATASOURCE
169
5 6 " " % 5" +,$ & # " ' " * % * +,$ 8 +* % +* ( 383 / +* % +* ( # " 8 +* # ( 8 +* & ' File DataSource
5 A # " 6
A ( & ( % '
5 6 A % " % 5 F %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.9 DATASOURCE
170
Directory DataSource
5 # # " 6
5 # " C 6 # 6 # A A 6 A: # " " # # " 1 5 9 # " " +,$ # " ( Groovy DataSource
5 = # " 6
5 1 # " # " " 5 3 3 7 & " 5" , ' ( 6 3 3 % 3(3 % 58 /( (% 38 3 % 58 7 :(6 # " $ "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.10 DATASOURCE LOOP
1.9.3.10
171
DataSource Loop ......................................................................................................................................
soapUI Pro DataSourceLoop Step 5 # " $ " # " " 9 ( # " %1 3/ 3 6
5 C 6 # " " % # " " 1 5 " % " A ( # " ( 9 # " $ 9 # " " 89 & 1 9 ' :(6 * 2(
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.11 DATASINK
1.9.3.11
172
DataSink ......................................................................................................................................
soapUI Pro DataSink Step * 0 # "1 5" 1 ( 5 # "1
6 I#D/ # "1 % I#D/ 2( # "1 % 2( &(' A # "1 % = # "1 % = " The DataSink Editor
5 # "1 B 4 # "1 # "1 % # $ # "1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.11 DATASINK
173
5 * # 1 8 5 # "1 # "1 DataSink Options
5 # "1 ) 6
5 6
% # "1 $ 5 & ' DataSink Execution
2 5/ ( # "1 " # "1 F
% * 2( (
: *
* 2(
( 4 * 2( 5 3" 3 # "1 $ 5 &0' # "1 JDBC DataSink
5 I#D/ # "1 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.11 DATASINK
174
5 B % 6 $ % I#D/ # # "1 , ( 7( 9 7 ( ! % %
; * % * " ( & K '
% "N$ Excel DataSink
5 2( # "1 6
5 B % 6 % (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.11 DATASINK
175
" % ( &% 1
( % % File DataSink
5 A # "1 6
A 5 6 A % " % 5 F %
F %
( 5/ Groovy DataSink
5 = # "1 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.9.3.11 DATASINK
176
5 1 # "1 # "1 " ( 6 3(3 % 58 /( (% 3 3 % , 38 3 % 58 7 3 3 %
:(6 $ 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10 LOAD TESTING
1.10
177
Load Testing ......................................................................................................................................
Load Testing ( % 6 A $ 5 6 5/ D $ 5 6 0 * $ 5 6 ( ( 89 %# $ 5 6 9 % $ 5 5/ & 5/ 3: $ 53
% ' 5/ 5" 5 % 6 5 1
$ 5 2 / 6 2( 6 ( $ 5 6 $ 5 # 6 $ 5
I, / 6 I, Requirements-Driven Load Testing
) 7 % 39 %3
% A % & ( '
3 3
& ' 3 3 0
3 3 %%
D
$ 5
$ 5 3 9 3 ( 9
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10 LOAD TESTING
178
) (% 5*" 5 3 3 $ 5
& ( ") *' 9 " " The LoadTest Editor
5 $ 5 2 $ 5 6
5 & %' 5 $ 5 5 $ $ 5 5 $ " $ " 5 " 5 %% $ 5 5 * 6 3$ 5 $ 3% % $ 5 3$ 5 3% $ 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10 LOAD TESTING
179
The LoadTest Toolbar
5 & '6 6 " $ 5 $ 5 2( ( 6 / $ 5
+ 6 " " = $ 5
# , + 6 " " E = $ 5 6 8 $ 5 6 * ( $ 5 " % " 6 " $ 5 )
! 6 " $ 5 2( 5 * D & ' $ 5 ( 5 $ " 2( LoadTest Options
5 $ 5 ) 6 $, 6 " & ' @ 4 ! 6 " & ( ' 3 3 % ( /8 . 6 D 5*" &5 ' & &?@@@ 'U ' / 5*"D*" ! 5/ " $ " 9 & ' " 5*" &% ' 3 6 ! E55* 9 89 " 3 3 9 & ( 9 ' 6 ! E55* 89
E55* & ' ( ( 3 6 " G %/ ! "
6 " % $ 5 " & '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10 LOAD TESTING
180
CO@ $. # , 6 # &
% % ' ) ! 6 # , 2( $ 5 # ( 3S T3 $ 5 $ ( ! 6 / 5 $ 5 & 1 ' I, /
5 3" $ 3 ( $ 5 ( $ 5 5 6 $ A % % 5" 5/ $ % & '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10 LOAD TESTING
$ 5 / %
The Statistics Table
5 5" 5/ 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
181
1.10 LOAD TESTING
182
5 " $ 5 2( # %1 5" 5" 8 %1 5" % 5" $ 5 5" $ 5 The LoadTest Log
5 $ 5 $ ( $ 5 # %1 & ' ( 9
5 &%% '6 6 $ 5 $
6 ( $ 5
, 6
6
5 1 % :(6 $ 5 /
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.1 GETTING STARTED
1.10.1
183
Getting Started ......................................................................................................................................
Getting Started with Load Testing ?O $ 5 6 F ! " $ , A 3 13 8 % E A 5/ 3= " 3 " $ 5 5/ 3: $ 53 5 $ 5 2 1 & 5/ '6
5 $ 5 M@ & ' O " $ " , & $ 5 / ' - M@
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.1 GETTING STARTED
184
$ 5 & $ 5 2( '6
Add Assertions
$ 5 $ 5 7 A 5" ! $ 5 5" " 5" , ( 5/ ( ( " 3$ 5 3 $ 5 2 3 3 " 3" , ( 3 6 5 " , ( 1 (% ( 0 % 3 % (
! ?@ 5/ % ( O@@ % ( $ 5 O 3 3 O@@ $ 5
% ! 9 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.1 GETTING STARTED
185
Run again!
: $ 5 1 5/ O ( O@@ $ 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.1 GETTING STARTED
186
- %1 9 9 # %1 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.1 GETTING STARTED
Now What?
5 $ 5 " # :(6 = " ,1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
187
1.10.2 LIMIT & STRATEGIES
1.10.2
188
Limit & Strategies ......................................................................................................................................
LoadTest Configuration 5 ( $ 5 6 5 $ 5 $ $ 5 5 $ 5 " 5/ & ' LoadTest Limit
5 $ 5 $ $ 5 2 6 6 5/ $ 5 , 6 $ 54 $ 5 5/ * 35 8 3 $ 5 4 ( $ ?@@@ O
( C@@ 9 & ( ' " $ @ $ 5 $ 5 % $ 5 LoadTest Strategies
$ 5 5/ ( % 5/
5 " " % ( $ 5 5 $ 5 " 6 " 6 5/ ( F 6 5/ ( D 6 5/ ( 3 3 5 6 5/ ( ( % " $ 5 ( $ 5 3 3 " $ 5 D
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.2 LIMIT & STRATEGIES
189
$ 5 % " 5 " " 6
$, 6 5/ 6 0 A ( ?@@@@O 5/ ( O@@ ?@@@ " @ 5*" 3/ 5*" 3 $ 5 )
F 5 6
6 5 6 % 5 % V & U ' % & U ' 1 % A ( % C@ BJ@ @O C@ .@ C ?@ ( B 1 C@ C D 5 D 6
8 $, 6 8 $ 6 3 3 ( 33 A ( M@@ % .@ O@ ?@ .@ O@ ?@ ?@ 5 5 5 " 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.2 LIMIT & STRATEGIES
190
6 6 $ 5 5 ( % 5*" A ( M@@ ? .@ ? .@ ?@ :(6 $ 5 2(
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.3 EXECUTION
1.10.3
191
Execution ......................................................................................................................................
LoadTest Execution ! $ 5 5/ 5/ # $ 5 6 3/ 3 $ 5 $ 5 ( # ( " 5 6 min % 1 max % 1 avg % last % cnt % ( tps % / 5*"D*" bytes % bps % err %
/ & 5/ ( ' 5 5/ Step Time calculation
System.nanoTime() 1 % 5 5" 6 Step Type
Duration
Request Step
The request duration is calculated depending on the settings in the LoadTest Options dialog (as described there).
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.3 EXECUTION
192
Step Type
Duration
Groovy Script
The actual script evaluation
Properties Step
The time to load/save the properties (if configured)
Delay Step
The steps delay
Property Transfer
The time it took to transfer all properties
Goto Step
The time it took to evaluate the goto-conditions
LoadTest Assertions
! $ 5
6
%1 5" A ( 89 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.3 EXECUTION
193
Calculation of TPS/BPS
# 3/ 5*"3 $ 5 ) 5*" D*" 6 :)5 & '6 5*" 6 &?@@@ 'U ( ; ?@@ 5*" ?@@ D*" 6 &' U 5*" 9 U 5*" A ( ?@@@@@@ ?@@ 9 5*" ?@@ &?@@@@@?@@ U ?@@' ; ?@@@@@@ D*" D 6 5*" 6 5 5/ /:5 ?@@@ 5/ ?@ ?@@ 9 5*" ?@ D*" 6 D 5 ?@@@ 5/ ?@ ?@@@@@ D*" ?@@@@ * % 5/ 5 5*"D*" 9 5" 1 5/ 5 5/ " $ " 9 & ' " 5*" &% '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.3 EXECUTION
:(6 $ 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
194
1.10.4 ASSERTIONS
1.10.4
195
Assertions ......................................................................................................................................
LoadTest Assertions $ 5 $ 5 $ 5 " * , 3$ 5 3 $ 5 6
5 &%% '6 ) ) % $ 5 ) % ) " % D 6 0 6
6 $ 6 6 Type
Short Description
Step Maximum
Asserts a steps max time
Step Status
Asserts a steps status
Step TPS
Asserts a steps TPS
Max Errors
Asserts the total number of errors
Step Average
Asserts a steps average
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.4 ASSERTIONS
196
Step Maximum Assertion
5 " , ( 1 (% ( 6 0 % 3 % (
$ 5 % ( (
$ 5
% ( $ 5
% " 3% %3 3% 5 %3 1 5/
Step Status Assertion
5 " " 1 ( 89 = 6 0 %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.4 ASSERTIONS
197
3 % (
$ 5 % ( $ 5
% " 3% %3
Step TPS Assertion
5 " 5*" 1 5*"
6 0 % 3 % (
$ 5 % 9 5*" 5*"
$ 5
% ( $ 5
% " 3% %3 3% 5 %3 5*" 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.4 ASSERTIONS
198
Max Errors Assertion
5 , ( 2 1 5" ( 6 0 % ). % ( 5" % ( 5" ( @C C@Z 5"
% " 3% %3 3% 5 %3 5/
Step Average Assertion
5 " 1 6 0 % 3 % (
$ 5 )! % (
$ 5
% ( $ 5
%
% " 3% %3 3% 5 %3 5/
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.4 ASSERTIONS
:(6 $ 5 #
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
199
1.10.5 DIAGRAMS
1.10.5
200
Diagrams ......................................................................................................................................
Diagrams C $ 5 " & ( ' 5 6 5" # , " 5" D 38 3 5 3# 3 6 $ % $ 5 " 3" 3 $ 5 ) 5 5/ & " $ 5 % 5/ 9 999 % +++ " D $ 5 5 1 $ 5 The Statistics Diagram
5 5" 5/ 5 5 %( ( %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.5 DIAGRAMS
201
The Statistics History Diagram
5 5" 5/ 5 %( ( %
:(6 I, /
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.6 JMETER COMPARISON
1.10.6
202
JMeter comparison ......................................................................................................................................
JMeter Comparison 5 I, C 11 6%' I, % & E55* I#D/ I," ' % , I, I, 3 3
3 3 & ' ) I, & ( ' $ % ( 4 1 % 7 D I, 33 ( & 5/ ' Comparison Setup
5 9 ID B@."*? ! " 7 B@. 9 O@@@ B 4 ? O ?@ CO 5/ ) 9 9
5 I, 9 5 = % 4 ?O@@@ O?@@@ ?@O@@ COC@@ 5 3!"&")*' 89 3 3
8 3
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.6 JMETER COMPARISON
203
, !+* "*C * , ?J ?= 8, I82 ?O@[@M ID I, Results
5 5*" &U'
Threads
jmeter
soapUI
soapUI (*)
soapUI cmdline
soapUI cmdline (*)
1
8 ms, 105 TPS
6.78 ms, 147 TPS
10.7 ms, 94 TPS
5.75 ms, 174 TPS
10 ms, 99 TPS
5
43 ms, 110 TPS
38.7 ms, 128 TPS
23.7 ms, 211 TPS
30.4 ms, 164 TPS
24 ms, 210 TPS
10
86 ms, 112 TPS
82 ms, 122 TPS
46.5 ms, 215 TPS
61 ms, 164 TPS
38 ms, 262 TPS
25
214 ms, 114 TPS
204 ms, 123 TPS
124 ms, 202 TPS
159 ms, 157 TPS
95 ms, 263 TPS
5 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.6 JMETER COMPARISON
204
5*" I, ( 5 E / IF, ( 5
% % 5 ( % ) 9 3 3 ( ! ") 1 $1 I, I, E55* ?@ ! " 9 System.currentTimeMillis() System.nanoTime() I ?O Further Analysis
" $ 5 35 3 ? CO CO@ 5 6 A &1 %0'6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.6 JMETER COMPARISON
205
5 4 5*" 9 3 13 &1 %0'6
5 4 5*" M 9
5*" 1 3 13 7
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.10.6 JMETER COMPARISON
206
Conclusion
5 3 3 ) 1
& ' D 6 A ! "4 7 3 3 A ! "6 7 & ( I,' H Files
%0 6 File
Description
comparison-soapui-project.xml
soapUI project file containing all tests run in the comparison
soapui-compare.jmx
jmeter project file containing all tests run in the comparison
ws4ee-samples-server-ejb.jar
precompiled jar file containing tested Web Service, just drop this in the JBoss 4.0.3 deploy folder and the above tests should run as configured (you may need to change the endpoint)
- ID B@."*? B@B8/C ID!" 1 & 7 ' :(6 ! " ,1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11 MOCKING
1.11
1
Mocking ......................................................................................................................................
Web Service Mocking ?L ,1 & 3,1"3' ! " !"#$ ,1" ( &3 ,1) 3' !"#$ 9 ( &' &3 ,18 3'
,1" % ,1"8 1 & '
,1 ! " % 6 / 6 ,1" (
5 # !"#$ & ' 6 " !"#$
& ' ,1" 5" ! " 6 N 1 !"#$
( * ,18 5" 5/ ")* 9 ! " :(6 ,1 "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11 MOCKING
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
2
1.11.1 GETTING STARTED
1.11.1
1
Getting Started ......................................................................................................................................
Getting Started with Mocking ?L 1 = % 5 6 8 * ! "4 1 !"#$ = / 4 1 & % ' / 33 8 0 +* ( 9 5%# # 4 / 5" 5/ ,1"
( 1 ( 1 = 1 "
7 / / 6(/ / (K!"#$
Create a MockService
9 8 %1 3= ,1"3 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.1 GETTING STARTED
5 & '4
I
! ,1" % 5 ,1" ,1) ,18 # 1 ,1" 38 ?3 0 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
2
1.11.1 GETTING STARTED
3
5 ,1" & ' 9 9 ,1" 5 ,18 89 & 4%' 3 3 % 1 5 3 89 3 9 &
' % Invoke the MockService from within soapUI
$ 7 1 1 6 ? /1 ,1"
& ' C ,18 % ( 9 7 ! 9
,1"
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.1 GETTING STARTED
4
. " 9 H ,18 9 6
" 1 ,18 3 89 3 9 ,1"
,1) 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.1 GETTING STARTED
5
/ H E ,1" A ,18 9 & ,1"' Customize the MockResponse
$ 1 1 = " 38 " 3 ,18 6
= 1 ,1 8
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.1 GETTING STARTED
6
: 9 ,18 4
)G 1 6 ,1) & % ' / ,1) )
& ' = % ,1" & ' :(6 =
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.2 MOCK SERVICES
1.11.2
7
Mock Services ......................................................................................................................................
Mock Services ,1" 7 5 4 ? A *7 3: ,1"3 / ,1" C A ( 9 3/ ,18 3 ,1" 9 ,18 . A 3= ,1"3 5 6
,1" ,1) 2 ,1) ,18 !"#$" 9
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.2 MOCK SERVICES
8
) ,1) ,1" 9 1 I 1 9 MockService Actions
8 %1 ,1" 6
% % ,1" 2
' % 0 ,1" ,1"
% ,1" 0 %" % ,1) ,1" ( % % ,1" ) % ,1" 7 5 ,1" 2 % ,1" % ,1" " # % (
MockService Details Tab
5 ,1" 6 0 6 ,1" $ 6 ,1" ,1" : % ,1" & ' % ,1" & '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.2 MOCK SERVICES
9
3 ") 5 % 9 ")* F ,1) ,1" 3 ") ) % 9 ")* ")* ,1) ,1" ! &
% !"" 9 5 $ " !! &
% ) !""
,18 / ,18 5 5 * ,1"
The MockService Editor
# %1 ,1" ,1" A 6 5 6 % " ,1" 9 & '
% " ,1" " % ) E5,$ 1 !"#$ & ' " % ) ,1" ) & ' # % ) 5 ,1) ,1" 8 %1 ,1) %1 ,1) 9 6 . % 2 ,1"
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.2 MOCK SERVICES
10
( % /
" % * ( G 1 & 0 ' # %1 ( 9 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.2 MOCK SERVICES
11
MockService Inspectors
D ,1) B & '6 # 6 ,1" * 6 ,1" " " 6 = " ,1" 0 " " 6 = "
,1" MockService Options
5 ,1" ) 6 * % * % E % ( * & !"#$ * ' E ) % * *
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.2 MOCK SERVICES
12
MockService execution
! ,1" 8 & ,1"' ,1" ) 5 % 6
")* 89 3 3 ! " 9 ,1" ,1) 89 # ! ,1" ,1) ,18 5
,1" 9 ,1" 9 ")* A (
9 ,1" ,1) 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.2 MOCK SERVICES
13
WSDL Publishing
! ,1" !"#$ &!"#$ +"#' ,1" 5 ,12 ,1"6
" ,1" 1 6
" 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.2 MOCK SERVICES
6
5 !"#$ & ' :(6 ,1 )
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
14
1.11.2.1 COVERAGE
1.11.2.1
15
Coverage ......................................................................................................................................
MockService Coverage ! / ,1" 0 1 9 / * 5 C 6 / / 6 !"#$ ,1 / 6 ,1 1
! ,1" / * % / 5 ,1" ,1) 4 ,1) (
:(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.3 MOCK OPERATIONS
1.11.3
16
Mock Operations ......................................................................................................................................
Mock Operations ,1) 7 9 ")* ,1) ,18 # 9 ,18 MockOperation Actions
8 %1 ,1) ,1" 6 " %" % ,1) 2 " 3 % ( 9 1 ,1" 5 9 1 ,1" ,1" 0 % % ,18 ,1) ( ! " % ) 1 ,1) & ' % ,1) % ,1) " # % (
MockOperation Details Tab
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.3 MOCK OPERATIONS
17
5 ,1) 6 0 6 ,1) $ 6 ,1) ,1) : & $ " % ) 1 $ , % 9 ,1)
Change Operation
5 ) 1 ,1) 6
5 6 0 % ,1) % 1 " % 1 % ,18 ,1) ( " %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.3 MOCK OPERATIONS
18
7 ! % 1 ( & 1 The MockOperation Editor
# %1 ,1) ,1) A 6 5 6 ) % % * ,18 ,1) " 3 % ( 9 1 % 5 1 " % 5 1 # % ) 5 ,18 ,1) 8 %1 ,18 %1 ,18 # 5 & '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.3 MOCK OPERATIONS
19
Request Dispatching
9 ,1) B (6
3 % 9 % ( ,18 9 % +* ( ,18
% = D +* " +* ( ! +* " +* ( = ! * +* +* " Groovy Script Dispatching
= (
,1) 5 6 5 76 log % B7 $
=
context % ,18 /( % 5
( ,1) ,18 ,1" " 7 Map =Q %
& ( ' requestContext % ,18 /( %
5 ( 9 9 ,1)
,18 " 7 Map =Q %
& ( ' MockRequest % !,189 9 % 7
E "89 E "8 7
MockOperation % !,1)
,1) 7
5 ,18 ,18 38 ?3 :(6 ,1 8
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.4 MOCK RESPONSES
1.11.4
20
Mock Responses ......................................................................................................................................
Mock Responses ,18 ,1) 5 & ( ( ' ,18 ,1) 89
3 ,1"3 MockResponse Actions
8 %1 ,18 ,1) 6 " % % ,18 2 ) ( % ,18 " 5/ " 3 % ( 9 ,18 ,1) ( % ,18 % ,18 % ,18 " # % (
MockResponse Details Tab
5 ,18 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.4 MOCK RESPONSES
21
0 % ,18 $ % ,18 ! ' % 0 & ' ! % ,18 . "/ % ,5), ,18 89 " % ,5), 1 ,5), . % , )
6 5
!"#$ (% MD (D
& 6 " ( 9 , ( 6 8 $, 6 !
The MockResponse Editor
# %1 ,18 ,1) ,18 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.4 MOCK RESPONSES
22
5 9 % ,18 5 9 9 ,18 E55* E 5 8 +,$ " E55* E 89 2 & ' 38 " 3 ( & ' MockResponse Editor Toolbar
5 ,18 & '6 " 3 % ) ( 9 ,1) ,1" 9 % * !"#$" ( , % * ")* ( ") % * ")* A 1 4 !! , %
2 $ " # % ( Response Scripts
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.4 MOCK RESPONSES
23
5 38 " 3 (
5 76 log % B7 $
context % ,18 /( % 5
( ,1) ,18 ,1" " 7 Map = %
& ( ' requestContext % ,18 /( %
5 ( 9 9 ,1)
,18 " 7 Map =Q %
MockRequest % !,189 9 % 7
E "89 E "8 7
MockResponse % !,18
,18 7 & ( '
5 8 ( ( & ,1" ' 5 ,189 9 * ( ( ( 6 context.randomValue = Math.random()
3 F 3 3 3 6 <detail>${randomValue}
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.11.4 MOCK RESPONSES
:(6 "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
24
1.12 SOAP MONITORING
1.12
25
SOAP Monitoring ......................................................................................................................................
SOAP Monitor C@ ")* , & ' 0 ")*% ( 5
5/ ,1" * &( ' / 0 !"#$ &' " ")* , *7 3$ ")* ,3 6
" 6 *( 6 E55* *( ! 6 ( 5 6 5/*%5 6 & 8$ 5 3 3 7 9 5 89 8 !"" !""
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.12 SOAP MONITORING
26
Main Window
5 ")* , & '6 5
% ")* , 5 &35 $ 3 3/ 3 *' % 9 1
9
5 % 3, /3 9
) 89 ) 7
% , / 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.12 SOAP MONITORING
27
D 1 ?@@ 7 ")* , Using Captured Messages
5 . % % 6 / 89 6 9 9
/ 5/ 6 5/ & ( ' 589 9
/ ,1" 6 ,1" & ( '
,1) ,18 9
5 C :(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.12.1 COVERAGE
1.12.1
28
Coverage ......................................................................................................................................
SOAP Monitor Coverage ! / ")* , 0 9 / * 5 ( 6 ")* , 0 0 ! ")* , / * %
/ 5 5" 5/
4
:(6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13 USAGE SCENARIOS
1.13
29
Usage Scenarios ......................................................................................................................................
Usage Scenarios 5 3 3 6 Scenario
Description
Data-Driven Testing
Shows how to use a combination of TestSteps and/or Groovy Scripts to allow test-data (query parameters, username/password, etc) to be provided from an external source
Template-Driven Testing
Extends Data-Driven testing to show how to read a series for test-values from an external source and run the entire TestCase for each "row" of values.
Interactive Testing
Shows how to use groovy scripts to create an input dialog for a TestCase and for displaying the result.
Surveillance Testing
Describes how to use a scheduling tool in conjunction with soapUI to set up ongoing test-processes that continuously validate functionality and performance.
9 1H :(6 # %# 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.1 DATA-DRIVEN TESTING
1.13.1
30
Data-Driven Testing ......................................................................................................................................
Data-Driven Testing # %# ( ( 5
(
# %# 5 5/ 6 / 89 &' 3 %3 / * " ( / * 5 " : ( 3* " 3 (
= " * " D
D ( 0 " " ( 1 - 7 0 !"#$ & 6 0!"2/"!"2/"'
Create The TestCase and TestRequest
/ 5/ 89 " 9 6 <soapenv:Envelope xmlns:ns="http://webservices.amazon.com/AWSECommerceService/2006-02-15" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns:ItemSearch> <ns:SubscriptionId>? <ns:Request> <ns:SearchIndex>Books <ns:Author>?
3" / 3 3")* A 3 (
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.1 DATA-DRIVEN TESTING
31
Create Properties and Property Transfer
3* " 3 C 3" #3 3 3 3* 5 3 C
9 - 1 6
38 3 * 5 2 89 9 1 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.1 DATA-DRIVEN TESTING
& 9 ' Reading the properties from an external properties file
* " 2 ( 6 SubscriptionID=.. your subscription id .. Author=Douglas Coupland
" 3% 3 * " 26
- H ) 5/ 5/ 89 2
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
32
1.13.1 DATA-DRIVEN TESTING
33
6
Setting the properties with Groovy
3 3 ( 5 = " ( 7 = " 3 3 D = " 5/ = " 2 2 6 // init properties def props = new Properties(); props.load( new FileInputStream( "test-input.properties" )); // get target step def step = testRunner.testCase.getTestStepByName( "Properties" ); // assign all properties def names = props.propertyNames(); while( names.hasMoreElements() ) { def name = names.nextElement(); step.setPropertyValue( name, props.getProperty( name )); }
5 3* 3 " ! ( 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.1 DATA-DRIVEN TESTING
:(6 5 %# 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
34
1.13.2 TEMPLATE-DRIVEN TESTING
1.13.2
35
Template-Driven Testing ......................................................................................................................................
Template-Driven Testing 5 %# ( # %# 5/ ( 5 ( ( # %# 5 ( ( 1 ( 5/ 1 5 ( # %# ( 6 / = ( 58 /( ( / * " 5/ / 5/ 1 1 E H Read external values
5 ( 3 (3 58 /( 2 ( 3G C.@3 def list = [] new File( "testdata.txt" ).eachLine { line -> list.add( line ) } log.info( "Read " + list.size() + " test values.." ) context.setProperty( "values", list ) context.setProperty( "index", 0 )
58 /( ( 33 Init properties with test values
5 * " 3 3 def values = context.getProperty( "values" ) def index = context.getProperty( "index" ); def str = values[index]
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.2 TEMPLATE-DRIVEN TESTING
36
def ix = str.indexOf( "," ) def author = str.substring( 0, ix ) def props = testRunner.testCase.getTestStepByName( "Properties" ) props.setPropertyValue( "Author", author ) log.info( "set author to [" + author + "]" )
* 5 89 6 5 9 5 9 1 5 38 / 3 Validate and move to next
5 1 ( ) ( ( 1 ( def values = context.getProperty( "values" ) def index = context.getProperty( "index" ); def str = values[index] def ix = str.indexOf( "," ) def def def def
props = testRunner.testCase.getTestStepByName( "Properties" ) resultCount = props.getPropertyValue( "ResultCount" ) count = str.substring( ix+1 ) author = props.getPropertyValue( "Author" )
if( count > resultCount ) { throw new Exception( "not enough hits for author [" + author + "], expected " + count + ", got " + resultCount ) } else { log.info "got " + resultCount + " hits for [" + author + "], required " + count if( ++index < values.size() ) { context.setProperty( "index", index ) testRunner.gotoStepByName( "Init Run" ) } else { log.info "Finished TestCase, tested " + values.size() + " values" } }
Running the TestCase
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.2 TEMPLATE-DRIVEN TESTING
37
( coupland,150 king,150 shakespeare,150
6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.2 TEMPLATE-DRIVEN TESTING
38
5 $ 5 5/ O ?O
:(6 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.2 TEMPLATE-DRIVEN TESTING
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
39
1.13.3 INTERACTIVE TESTING
1.13.3
40
Interactive Testing ......................................................................................................................................
Interactive Testing = 5" ( 1 %
7 5/ 3 3 ( 5/ 0 D1 ! 5" 6 * " = "
* 5 9 89 " * 5 = "
Properties
5 6 ) 6
. $ 6 0 ( 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.3 INTERACTIVE TESTING
41
Groovy Input
5 1 6 // create dialog def dialog = com.eviware.soapui.support.UISupport.createConfigurationDialog( "Amazon Query" ); dialog.addTextField( "Author", "The Author to search on" ); // init values and show def map = new java.util.HashMap(); map.put( "Author", "" ); if( dialog.show( map )) { // get target step def step = testRunner.testCase.getTestStepByName( "Properties" ); // assign step.setPropertyValue( "Author", map.get( "Author" )); } else testRunner.cancel( "No author to search on!" );
! = * " Search Args Transfer
5 " 5 C " # 2 = * " 89 +* ( A " # 6 declare namespace ns='http://webservices.amazon.com/AWSECommerceService/2006-03-08'; //ns:SubscriptionId/text()
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.3 INTERACTIVE TESTING
42
declare namespace ns='http://webservices.amazon.com/AWSECommerceService/2006-03-08'; //ns:Author/text()
&" 89 " +,$'
Using Property Replacement
?M ${propertyName} ( * 2( 3" 5 3 9 6 <ns:ItemSearch> <ns:SubscriptionId>${SubscriptionId} <ns:Request> <ns:SearchIndex>Books <ns:Author>${Author}
5 " 9 7 & 9 ' Search Request
5 9 6 <soapenv:Envelope xmlns:ns="http://webservices.amazon.com/AWSECommerceService/2006-03-08" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns:ItemSearch> <ns:SubscriptionId>?
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.3 INTERACTIVE TESTING
43
<ns:Request> <ns:SearchIndex>Books <ns:Author>?
Result Transfer
5 ( = * 38 / 3
+* ( 6 declare namespace ns1='http://webservices.amazon.com/AWSECommerceService/2006-03-08'; //ns1:TotalResults/text()
Groovy Display Result
5 6 // get target step def step = testRunner.testCase.getTestStepByName( "Properties" ); com.eviware.soapui.support.UISupport.showInfoMessage( "Got " + step.getPropertyValue( "ResultCount" ) + " hits for author [" + step.getPropertyValue( "Author" ) + "]" );
Running the TestCase
8 5/ 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.3 INTERACTIVE TESTING
6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
44
1.13.3 INTERACTIVE TESTING
45
Summary
5 ( ( 9 &K' D*2$ D 1 4%' :(6 " 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.4 SURVEILLANCE TESTING
1.13.4
46
Surveillance Testing ......................................................................................................................................
Surveillance Testing " 1 ( % 3 3 Creating the tests
5
ID!" & ID % 1' 5 6 3 / 3 5/ 1 5 C $ 5 $ 5++ ++
5*" ?@@ 5 $ 5 " " O@@@ 9 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.4 SURVEILLANCE TESTING
Running from the command-line
D 7 1 1 ! % ( 5/ 7 6 testrunner.bat "C:\Documents and Settings\ole.matzura\My Documents\jbossws-soapui-project.xml" -s"Organization Tests" -c"getContactInfo Test" -r
5 6 SoapUI SNAPSHOT TestCase Runner 10:47:36,703 INFO [SoapUITestCaseRunner] setting projectFile to [C:\Documents and Settings\ole.matzura\My Documents\jbossws-soapui-project.xml] 10:47:36,703 INFO [SoapUITestCaseRunner] setting testSuite to [Organization Tests] 10:47:36,703 INFO [SoapUITestCaseRunner] setting testCase to [getContactInfo Test] 10:47:37,284 INFO [WsdlProject] Loaded project from [C:\Documents and Settings\ole.matzura\My Documents\jbossws-soapui-project.xml] 10:47:38,616 INFO [SoapUITestCaseRunner] Running soapui tests in project [jbossws] 10:47:38,616 INFO [SoapUITestCaseRunner] Running soapui suite [Organization Tests], runType = SEQUENTIAL 10:47:38,626 INFO [SoapUITestCaseRunner] Running soapui testcase [getContactInfo Test] 10:47:38,636 INFO [SoapUITestCaseRunner] runing step [Groovy Script - init boss]
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
47
1.13.4 SURVEILLANCE TESTING
10:47:39,176 INFO [SoapUITestCaseRunner] runing step [Properties] 10:47:39,176 INFO [SoapUITestCaseRunner] runing step [Transfer Values - set boss] 10:47:39,557 INFO [SoapUITestCaseRunner] runing step [request step] Retrieving document at 'http://lpt-olma:8080/ws4ee-samples-server-ejb/Organization?wsdl'. 10:47:40,398 INFO [SchemaUtils] Loading schema types from [http://lpt-olma:8080/ws4ee-samples-server-ejb/Organization?wsdl] 10:47:40,398 INFO [SchemaUtils] Getting schema http://lpt-olma:8080/ws4ee-samples-server-ejb/Organization?wsdl 10:47:40,568 INFO [SoapUITestCaseRunner] Assertion [Schema Compliance] has status VALID 10:47:40,568 INFO [SoapUITestCaseRunner] runing step [Groovy Script] 10:47:40,689 INFO [log] boss name matched [testsd1143708459106] 10:47:40,689 INFO [SoapUITestCaseRunner] Finished running soapui testcase [getContactInfo Test], time taken: 1065ms, status: FINISHED 10:47:40,689 INFO [SoapUITestCaseRunner] Skipping testcase [getContactInfo LoadTests], filter is [getContactInfo Test] 10:47:40,689 INFO [SoapUITestCaseRunner] soapui suite [Organization Tests] finished in 2073ms SoapUI SNAPSHOT TestCaseRunner Summary ----------------------------Time Taken: 2070ms Total TestSuites: 1 Total TestCases: 1 Total TestSteps: 5 Total Request Assertions: 1 Total Failed Assertions: 0 Total Exported Results: 0
$1 $ 5 6 loadtestrunner.bat "C:\Documents and Settings\ole.matzura\My Documents\jbossws-soapui-project.xml" -s"Organization Tests" -c"getContactInfo LoadTests" -r
* 6 SoapUI 1.5beta2 LoadTestRunner 21:16:07,912 INFO [SoapUILoadTestRunner] setting projectFile to [C:\Documents and Settings\ole.matzura\My Documents\j.. 21:16:07,932 INFO [SoapUILoadTestRunner] setting testSuite to [Organization Tests] 21:16:07,942 INFO [SoapUILoadTestRunner] setting testCase to [getContactInfo LoadTests] 21:16:09,134 INFO [WsdlProject] Loaded project from [C:\Documents and Settings\ole.matzura\My Documents\jbossws-soapu 21:16:11,458 INFO [SoapUILoadTestRunner] Skipping testcase [getContactInfo Test], filter is [getContactInfo LoadTests 21:16:11,458 INFO [SoapUILoadTestRunner] Running LoadTest [LoadTest10] 21:16:11,848 INFO [SoapUILoadTestRunner] LoadTest [LoadTest10] progress: 0.0 21:16:12,850 INFO [SoapUILoadTestRunner] LoadTest [LoadTest10] progress: 0.0144 .. etc .. 21:16:54,399 INFO [SoapUILoadTestRunner] LoadTest [LoadTest10] progress: 0.9452 21:16:55,391 INFO [SoapUILoadTestRunner] LoadTest [LoadTest10] progress: 0.9744 21:16:56,392 INFO [SoapUILoadTestRunner] LoadTest [LoadTest10] finished with status FINISHED 21:16:56,392 INFO [SoapUILoadTestRunner] Exporting log and statistics for LoadTest
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
48
1.13.4 SURVEILLANCE TESTING
[LoadTest10] 21:16:56,512 INFO [SoapUILoadTestRunner] [LoadTest10-log.txt] 21:16:56,512 INFO [SoapUILoadTestRunner] 21:16:56,512 INFO [SoapUILoadTestRunner] [LoadTest10-statistics.txt] 21:16:56,602 INFO [SoapUILoadTestRunner] 21:16:57,113 INFO [SoapUILoadTestRunner] 21:16:58,135 INFO [SoapUILoadTestRunner] .. etc .. 21:17:37,742 INFO [SoapUILoadTestRunner] 21:17:38,773 INFO [SoapUILoadTestRunner] 21:17:39,845 INFO [SoapUILoadTestRunner] FINISHED 21:17:39,865 INFO [SoapUILoadTestRunner] [LoadTest25] 21:17:40,095 INFO [SoapUILoadTestRunner] [LoadTest25-log.txt] 21:17:40,095 INFO [SoapUILoadTestRunner] 21:17:40,095 INFO [SoapUILoadTestRunner] [LoadTest25-statistics.txt] 21:17:40,105 INFO [SoapUILoadTestRunner] in 88647ms
49
Exported 1 log items to Exported 0 error results Exported 2 statistics to Running LoadTest [LoadTest25] LoadTest [LoadTest25] progress: 0.0046 LoadTest [LoadTest25] progress: 0.0348 LoadTest [LoadTest25] progress: 0.9506 LoadTest [LoadTest25] progress: 0.9748 LoadTest [LoadTest25] finished with status Exporting log and statistics for LoadTest Exported 1 log items to Exported 0 error results Exported 2 statistics to soapui suite [Organization Tests] finished
Setting up the Luntbuild Project
# " A ) 3 3 6 $ 76
/ F/" A " & 7 ( % '6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.4 SURVEILLANCE TESTING
50
/ 8 % 8 ( 3( /3 8
/ & (
'
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.4 SURVEILLANCE TESTING
51
Run the Tests..
= 1 & 3" 3 '6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.4 SURVEILLANCE TESTING
52
/1 $ D 5" & % 5" '6
5 3 3 1 6 = 1 1 $ D 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.13.4 SURVEILLANCE TESTING
/1 6 Request Step,min,max,avg,last,cnt,tps,bytes,bps,err request step,3,1189,95.25,76,5000,262.45,2160000,84454,0 Total:,3,1189,95.25,76,5000,262.45,2160000,84454,0
Summary
5 & 9 1' 3/ 5 3 ! " :(6 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
53
1.14 TOOL INTEGRATIONS
1.14
54
Tool Integrations ......................................................................................................................................
Tool Integrations
% 1 4 ? ( + % ( !"#$ 7 C & 4 !"% D * . ) 4 5/*% 1 &I+ *E* ' Q 1 % 1 ( Configuration
D & ' 3 53
6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.14 TOOL INTEGRATIONS
& ' :(6 / = 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
55
1.14.1 CODE GENERATION
1.14.1
56
Code Generation ......................................................................................................................................
Code Generation Tools 5 5 % 6 ID!" ID!" I+%8*/ I+%!" ( ?+ ( C /+A C+ +A ?+ ) +D C+ I+D C+ =" C+ :25 C@ 2
% 1
% &!"#$ : ' 1 ( &' !"#$&' !"#$ !"#$ 33 !"#$ !"#$ ( !"#$ !"#$
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.14.1 CODE GENERATION
57
Custom Arguments
3/ 3 1 &' (
& 6%' 5 +A 7 != 6
Running a tool
) 9 3= 3 1 # ( 3/ 3 5 &
' 5 I!"#* 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.14.1 CODE GENERATION
58
JBossWS wstools Tool
Version(s)
Documentation
Installation / Usage
JBossWS wstools
versions 1.0.X
JBossWS User Guide
Install the latest JBossWS stack and install/configure as required. Specify the directory containing the wstools script in the Tool Integrations settings dialog. The dialog has a "Show Config" button that displays the wstools config file generated for the current settings.
Tool
Version(s)
Documentation
Installation / Usage
JBossWS wstools
versions 1.0.X
JBossWS User Guide
Install the latest JBossWS 1.2 or newer stack and install/configure as required. Specify the directory containing the wstools script in the Tool Integrations settings dialog. The dialog has a "Show Config" button that displays the wstools config file generated for the current settings.
JBossWS wsconsume
JWSDP JAX-RPC/wscompile
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.14.1 CODE GENERATION
59
Tool
Version(s)
Documentation
Installation / Usage
JWSDP JAX-RPC/wscompile , tested with versions 1.6 and 2.0
tested with versions 1.6 and 2.0
wscompile
Install the desired JWSDP version and install/configure as required. Specify the directory containing the wscompile script in the Tool Integrations settings dialog.
JWSDP JAX-WS/wsimport Tool
Version(s)
Documentation
Installation / Usage
JWSDP JAX-WS/wsimport , tested with versions 1.6 and 2.0
tested with versions 1.6 and 2.0
wsimport
Install the desired JWSDP version and specify the jaxws/bin directory in the soapUI Tool Integrations settings
Tool
Version(s)
Documentation
Installation / Usage
Apache Axis 1.X
tested with versions 1.2.1, 1.3 and 1.4
wsdl2java
Install Axis 1.X and specify the installation directory in the soapUI Tool Integrations settings
Tool
Version(s)
Documentation
Installation / Usage
Apache Axis 2
tested with 0.9X and 1.0
wsdl2java
Install Axis 2 and specify the installation directory in the soapUI Tool Integrations settings
Tool
Version(s)
Documentation
Installation / Usage
Apache CXF 2.0
tested with 2.0.1
wsdl2java
Install CXF and specify the installation directory in the soapUI Tool Integrations settings
Apache Axis 1.X
Apache Axis 2
Apache CXF 2.X
XFire 1.X
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.14.1 CODE GENERATION
60
Tool
Version(s)
Documentation
Installation / Usage
XFire 1.X WsGen
tested with 1.X
WsGen
Install XFire 1.X and specify the installation directory in the soapUI Tool Integrations settings
Tool
Version(s)
Documentation
Installation / Usage
Oracle wsa.jar
tested with latest JDeveloper release
Oracle Web Services (PDF)
Install JDeveloper and specify <jdeveloper-root>/webservices/lib in soapUI Tool Integrations settings
Tool
Version(s)
Documentation
Installation / Usage
XMLBeans 2.X
tested with 2.2.0
scomp
Install XmlBeans 2.X and specify the installation directory in the soapUI Tool Integrations settings
Tool
Version(s)
Documentation
Installation / Usage
JWSDP JAXB 2.0
tested with JWSDP 2.0
xjc
Install JWSDP as required and specify the jaxb\bin installation directory in the soapUI Tool Integrations settings
Tool
Version(s)
Documentation
Installation / Usage
GSoap 2.X
tested with GSoap 2.7 on win32
wsdl2h , soapcpp2
Install GSoap as required and specify the installation directory in the soapUI Tool Integrations settings
Oracle wsa
XMLBeans 2.x
JAXB 2.x
GSoap 2.X
.NET 2.0
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.14.1 CODE GENERATION
61
Tool
Version(s)
Documentation
Installation / Usage
.NET 2.0
.NET 2.0
wsdl.exe
Install Visual Studio and .NET 2.0 and specify the directory containing wsdl.exe in the soapUI Tool Integrations settings
:(6 5/*%,
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.14.2 APACHE TCP-MON
1.14.2
62
Apache Tcp-Mon ......................................................................................................................................
Apache Tcp-Mon Integration 5 5 %, 3 3 % ")* 9 # 5 , 5 " C 6 ? A 5 7 5 , C A , ( 5 6
5 6 % 5 , 1 % 5 , ) % 5 ,
( $ 5 , 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.14.2 APACHE TCP-MON
63
1 5 , & '6
")* 9 3 (3 5 , 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.14.2 APACHE TCP-MON
:(6 / %$ 5
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
64
1.15 COMMANDLINE TOOLS
1.15
65
CommandLine Tools ......................................................................................................................................
soapUI CommandLine tools 5/ $ 5 Tool
Description
SoapUITestCaseRunner
Runs specified TestCases and reports/exports results as configured
SoapUILoadTestRunner
Runs specified LoadTests and reports/exports results as configured
SoapUIMockServiceRunner
Runs specified MockServices
SoapUIToolRunner
Runs any of the configured Code Generation tools for specified project and interface
soapUI Maven 1.X/2.X plug-ins
:(6 " 5/ 8
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
Allows execution of the above two from within a Maven 1.X/2.X build environment
1.15.1 TESTCASERUNNER
1.15.1
66
TestCaseRunner ......................................................................................................................................
SoapUITestCaseRunner 5 com.eviware.soapui.tools.SoapUITestCaseRunner 1 7 6 switch
description
e
The endpoint to use when invoking test-requests, overrides the endpoint set in the project file
h
The host:port to use when invoking test-requests, overrides only the host part of the endpoint set in the project file
s
The TestSuite to run, used to narrow down the tests to run
c
The TestCase to run, used to narrow down the tests to run
u
The username to use in any authentications, overrides any username set for any TestRequests
p
The password to use in any authentications, overrides any password set for any TestRequests
w
Sets the WSS password type, either 'Text' or 'Digest'
d
The domain to use in any authentications, overrides any domain set for any TestRequests
r
Turns on printing of a small summary report (see below)
f
Specifies the root folder to which test results should be exported (see below)
j
Turns on exporting of JUnit-compatible reports, see below
a
Turns on exporting of all test results, not only errors
o
Opens the generated report in a browser (soapUI Pro only)
i
Enables soapUI UI-related components.
5 ( 4 testrunner.bat -hlocalhost:8080 -a -fresults c:\projects\my-soapui-project.xml
% % 7( ( 3 3 & '
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.1 TESTCASERUNNER
67
Launch Dialog
A % 3$ $ 58 3 *75" 5/ 6
5 7 & ' ! % 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.1 TESTCASERUNNER
68
5 % ( JUnit Integration
1 I%4 public void testRunner() throws Exception { SoapUITestCaseRunner runner = new SoapUITestCaseRunner(); runner.setProjectFile( "src/dist/sample-soapui-project.xml" ); runner.run(); }
5 runner.run() ( % 5/ 6 public void testTestCaseRunner() throws Exception { WsdlProject project = new WsdlProject( "src/dist/sample-soapui-project.xml" ); TestSuite testSuite = project.getTestSuiteByName( "Test Suite" );
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.1 TESTCASERUNNER
TestCase testCase = testSuite.getTestCaseByName( "Test Conversions" ); // create empty properties and run synchronously TestRunner runner = testCase.run( new PropertiesMap(), false ); assertEquals( Status.FINISHED, runner.getStatus() ); }
Reporting and Exporting
5 " 5/ 8 I% (% %7 ( % 6 testrunner.bat jbossws-soapui-project.xml -stest -ctesting -r -a -fmyresults
6 SoapUI 1.5beta2 TestCase Runner 12:33:10,042 INFO [SoapUITestCaseRunner] setting projectFile to [jbossws-soapui-project.xml] 12:33:10,042 INFO [SoapUITestCaseRunner] setting testSuite to [test] 12:33:10,042 INFO [SoapUITestCaseRunner] setting testCase to [testing] 12:33:10,583 INFO [WsdlProject] Loaded project from [jbossws-soapui-project.xml] 12:33:11,915 INFO [SoapUITestCaseRunner] Running soapui tests in project [jbossws] 12:33:11,915 INFO [SoapUITestCaseRunner] Running soapui suite [test], runType = SEQUENTIAL 12:33:11,925 INFO [SoapUITestCaseRunner] Running soapui testcase [testing] 12:33:11,935 INFO [SoapUITestCaseRunner] runing step [Groovy Script - init boss] 12:33:12,335 INFO [SoapUITestCaseRunner] runing step [Properties] 12:33:12,335 INFO [SoapUITestCaseRunner] runing step [Transfer Values - set boss] 12:33:12,716 ERROR [SoapUITestCaseRunner] Transfer Values - set boss failed, exporting to [myresults\test\testing\Transfer-FAILED.txt] 12:33:12,716 INFO [SoapUITestCaseRunner] runing step [request step] Retrieving document at 'http://lpt-olma:8080/ws4ee-samples-server-ejb/Organization?wsdl'. 12:33:13,407 INFO [SchemaUtils] Loading schema types from [http://lpt-olma:8080/ws4ee-samples-server-ejb /Organization?wsdl] 12:33:13,407 INFO [SchemaUtils] Getting schema http://lpt-olma:8080/ws4ee-samples-server-ejb/Organization?wsdl 12:33:13,787 INFO [SoapUITestCaseRunner] Assertion [Schema Compliance] has status VALID 12:33:13,807 INFO [SoapUITestCaseRunner] Finished running soapui testcase [testing], time taken = 1882ms 12:33:13,807 INFO [SoapUITestCaseRunner] Skipping testcase [testcase2], filter is [testing] 12:33:13,807 INFO [SoapUITestCaseRunner] Skipping testcase [Copy of testing], filter is [testing] 12:33:13,807 INFO [SoapUITestCaseRunner] Skipping testcase [Copy of Copy of testing], filter is [testing] 12:33:13,807 INFO [SoapUITestCaseRunner] soapui suite [test] finished in 1892ms SoapUI 1.5beta2 TestCaseRunner Summary -----------------------------
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
69
1.15.1 TESTCASERUNNER
70
Time Taken: 1895ms Total TestSuites: 1 Total TestCases: 1 Total TestSteps: 4 Total Request Assertions: 1 Total Failed Assertions: 0 Total Exported Results: 4
D ( ( -a ( A ( 89 5" & '6 Status: OK Time Taken: 55 Size: 448 Timestamp: Sun Mar 12 12:45:57 CET 2006 TestStep: request step ---------------------------------------------------Encoding: UTF-8 Endpoint: http://lpt-olma:8080/ws4ee-samples-server-ejb/Organization Username: asd Password: dfsdfdsf Domain: asdasd ---------------- Request --------------------------<soapenv:Envelope xmlns:sam="http://org.jboss.test.webservice/samples" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <sam:getContactInfo> <String_1>testsd1141581163341 ---------------- Response -------------------------<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:getContactInfoResponse xmlns:ns1="http://org.jboss.test.webservice/samples"> The 'testsd1141581163341' boss is currently out of office, please call again.
2( W5" X%W5/ X%W5" : X%W/ X%W" X( ( 35" ?%5/ ?%89 " ?%@%)G(3 & 5" 1 5/ ' ?LO ( W5" X%W5/ X%W5" : X%W/ X% %W / XW2(X ( % & ' JUnit Reports
%7 (% ( I 1
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.1 TESTCASERUNNER
(% / 5" % 1 5/ 5/ A ( 6 testrunner.bat -j -ftestresults sample-soapui-project.xml
352"5%5 " (3 5 7 16 <junitreport todir="./testresults">
! 6
2 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
71
1.15.1 TESTCASERUNNER
!
% .C 6 <exec dir="C:\\Program Files\\eviware\\soapUI-1.7.5\\bin" executable="cmd.exe"> <arg line="/c testrunner.bat -j -fg:\\reports g:\\projects\\sample-soapui-project.xml"/> <junitreport todir="g:\\reports">
:(6 " $ 58
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
72
1.15.2 LOADTESTRUNNER
1.15.2
73
LoadTestRunner ......................................................................................................................................
SoapUILoadTestRunner 5 " $ 58 $ 5 (0 5 $ 5 $ 5 5 com.eviware.soapui.tools.SoapUILoadTestRunner 1 7 $ 5 6 switch
description
e
The endpoint to use when invoking test-requests, overrides the endpoint set in the project file
h
The host:port to use when invoking test-requests, overrides only the host part of the endpoint set in the project file
s
The TestSuite to run, used to narrow down the tests to run
c
The TestCase to run, used to narrow down the tests to run
l
The LoadTest to run, used to narrow down which LoadTests to run
m
Overrides the limit value set for the specified LoadTest(s)
n
Overrides the thread-count value set for the specified LoadTest(s)
u
The username to use in any authentications, overrides any username set for any TestRequests
p
The password to use in any authentications, overrides any password set for any TestRequests
d
The domain to use in any authentications, overrides any domain set for any TestRequests
r
Turns on exporting of a LoadTest statistics summary report (see below)
f
Specifies the root folder to which test results should be exported (see below)
5 ( 4 loadtestrunner.bat -ehttp://localhost:8080/services/MyService c:\projects\my-soapui-project.xml
$ 5 % % 7( %
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.2 LOADTESTRUNNER
74
Launch Dialog
A % $ 58 3$ # 3 *7$ 5 6
5 7 & ' ! $ 58 % 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.2 LOADTESTRUNNER
75
5 % ( Reporting and Exporting
5 " $ 58 ( % $ 5 $ 5 $ ( 2 8 $ 5 $ ( 1 5/ loadtestrunner -stest -ctestcase4 -l"LoadTest 1" -r "C:\Documents and Settings\ole.matzura\My Documents\jbossws-soapui-project.xml"
6 SoapUI 1.5beta2 LoadTestRunner 15:31:50,397 INFO [SoapUILoadTestRunner] setting projectFile to [C:\Documents and Settings\ole.matzura\ My Documents\jbossws-soapui-project.xml] 15:31:50,517 INFO [SoapUILoadTestRunner] setting testSuite to [test] 15:31:50,517 INFO [SoapUILoadTestRunner] setting testCase to [testcase3] 15:31:52,901 INFO [WsdlProject] Loaded project from [C:\Documents and Settings\ole.matzura\My Documents\ jbossws-soapui-project.xml] 15:31:59,941 INFO [SoapUILoadTestRunner] Skipping testcase [testing], filter is [testcase3] 15:31:59,941 INFO [SoapUILoadTestRunner] Skipping testcase [testcase2], filter is [testcase3] 15:31:59,941 INFO [SoapUILoadTestRunner] Running LoadTest [LoadTest1]
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.2 LOADTESTRUNNER
15:32:00,141 INFO [SoapUILoadTestRunner] 15:32:01,153 INFO [SoapUILoadTestRunner] 15:32:02,154 INFO [SoapUILoadTestRunner] 15:32:03,155 INFO [SoapUILoadTestRunner] ..etc.. 15:32:57,944 INFO [SoapUILoadTestRunner] 15:32:58,956 INFO [SoapUILoadTestRunner] 15:32:59,977 INFO [SoapUILoadTestRunner] 15:33:00,979 INFO [SoapUILoadTestRunner] FINISHED 15:33:00,979 INFO [SoapUILoadTestRunner] [LoadTest1] 15:33:01,039 INFO [SoapUILoadTestRunner] 1-log.txt] 15:33:01,039 INFO [SoapUILoadTestRunner] 15:33:01,119 INFO [SoapUILoadTestRunner] 1-statistics.txt] 15:33:01,119 INFO [SoapUILoadTestRunner] testing], filter is [testcase3] 15:33:01,119 INFO [SoapUILoadTestRunner]
76
LoadTest LoadTest LoadTest LoadTest
[LoadTest1] [LoadTest1] [LoadTest1] [LoadTest1]
progress: progress: progress: progress:
0.0025 0.019533332 0.036383335 0.053066667
LoadTest LoadTest LoadTest LoadTest
[LoadTest1] [LoadTest1] [LoadTest1] [LoadTest1]
progress: 0.9662167 progress: 0.9830833 progress: 1.0001 finished with status
Exporting log and statistics for LoadTest Exported 2 log items to [LoadTest Exported 0 error results Exported 2 statistics to [LoadTest Skipping testcase [Copy of Copy of soapui suite [test] finished in 61178ms
5 ( ( $ 5 2 1 6 Request Step,min,max,avg,last,cnt,tps,bytes,bps,err request step,1,407,17.63,26,11591,283.49,5192768,86696,0 Total:,1,407,17.63,26,11591,283.49,5192768,86696,0
:(6 " ,18
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.3 MOCKSERVICERUNNER
1.15.3
77
MockServiceRunner ......................................................................................................................................
SoapUIMockServiceRunner 5 com.eviware.soapui.tools.SoapUIMockServiceRunner 1 7 ,1" 6 switch
description
m
The name of the MockService to run
p
The local port to listen on, overrides the port configured for the MockService
a
The local path to listen on, overrides the path configured for the MockService
s
The soapui-settings.xml file to use
5 1 ,1" ( 4 mockservicerunner.bat -m"IOrderService MockService" "C:\Documents and Settings\Ole Matzura\My Documents\demo2-soapui-project.xml"
,1" 6 SoapUI SNAPSHOT MockService Runner 15:08:15,515 INFO [SoapUI] Added [file:/C:/workspace/core/ext/mysql-connector-java-5.0.4-bin.jar] to classpath 15:08:16,375 INFO [SoapUI] initialized soapui-settings from [soapui-settings.xml] 15:08:16,406 INFO [WsdlProject] Loaded project from [C:\Documents and Settings\Ole Matzura\My Documents\demo2-soapui-project.xml] 15:08:17,609 INFO [SoapUIMockServiceRunner] Running MockService [IOrderService MockService] in project [demo] 15:08:17,609 INFO [SoapUIMockServiceRunner] Press any key to terminate 15:08:17,953 INFO [MockEngine] Started mockService [IOrderService MockService] on port [8081] at path [/mockIOrderService] 15:08:17,953 INFO [SoapUIMockServiceRunner] MockService started on port 8081 at path [/mockIOrderService] Progress: 1 - Loading definition from cache 15:09:18,625 DEBUG [WsdlContext] Loading definition from cache 15:09:18,640 DEBUG [WsdlLoader] Returning baseInputSource [http://evitop:8080/OrderServiceImpl?wsdl] 15:09:18,687 DEBUG [WsdlLoader] Returning baseURI [http://evitop:8080/OrderServiceImpl?wsdl] Retrieving document at 'http://evitop:8080/OrderServiceImpl?wsdl'. 15:09:18,796 DEBUG [WsdlContext] Loaded definition: ok 15:09:18,812 INFO [SchemaUtils] Added default schema from
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.3 MOCKSERVICERUNNER
78
/C:/workspace/core/target/classes/xop.xsd with targetNamespace http://www.w3.org/2004/08/xop/include 15:09:18,890 INFO [SchemaUtils] Added default schema from /C:/workspace/core/target/classes/XMLSchema.xsd with targetNamespace http://www.w3.org/2001/XMLSchema 15:09:18,890 INFO [SchemaUtils] Added default schema from /C:/workspace/core/target/classes/xml.xsd with targetNamespace http://www.w3.org/XML/1998/namespace 15:09:18,890 INFO [SchemaUtils] Added default schema from /C:/workspace/core/target/classes/swaref.xsd with targetNamespace http://ws-i.org/profiles/basic/1.1/xsd 15:09:18,890 INFO [SchemaUtils] Added default schema from /C:/workspace/core/target/classes/xmime200505.xsd with targetNamespace http://www.w3.org/2005/05/xmlmime 15:09:18,890 INFO [SchemaUtils] Added default schema from /C:/workspace/core/target/classes/xmime200411.xsd with targetNamespace http://www.w3.org/2004/11/xmlmime 15:09:18,890 WARN [SchemaUtils] Failed to open schemaDirectory [C:\workspace\soapui-pro\schemas] 15:09:18,890 INFO [SchemaUtils] Loading schema types from [http://evitop:8080/OrderServiceImpl?wsdl] 15:09:18,890 INFO [SchemaUtils] Getting schema http://evitop:8080/OrderServiceImpl?wsdl 15:09:18,906 INFO [SchemaUtils] schema for [http://www.example.org/OrderService/] contained [{}] namespaces 15:09:19,359 INFO [SoapUIMockServiceRunner] Handled request 1; [purchase] with [MockResponse 1] in [9ms] at [2007-04-03 15:09:17.968] 15:09:20,734 INFO [SoapUIMockServiceRunner] Handled request 2; [purchase] with [MockResponse 2] in [0ms] at [2007-04-03 15:09:20.734] 15:09:21,296 INFO [SoapUIMockServiceRunner] Handled request 3; [purchase] with [MockResponse 1] in [0ms] at [2007-04-03 15:09:21.296] 15:09:21,937 INFO [SoapUIMockServiceRunner] Handled request 4; [purchase] with [MockResponse 2] in [0ms] at [2007-04-03 15:09:21.937] 15:09:22,343 INFO [SoapUIMockServiceRunner] Handled request 5; [purchase] with [MockResponse 1] in [0ms] at [2007-04-03 15:09:22.343]
! 1 5 1 6 15:20:30,703 15:20:30,703 15:20:30,703 15:20:30,703
INFO INFO INFO INFO
[MockEngine] Stopping connector on port 8081 [MockEngine] No more connectors.. stopping server [SoapUIMockServiceRunner] MockService stopped, handled 7 requests [SoapUIMockServiceRunner] time taken: 733117ms
:(6 " 58
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.4 TOOLRUNNER
1.15.4
79
ToolRunner ......................................................................................................................................
SoapUIToolRunner 5 " 58 / = % 5 com.eviware.soapui.tools.SoapUIToolRunner 1
7 %
6 switch
description
i
the interface for which the tool should be run
t
the tool(s) to run, a comma-separated list with the following tokens; axis1, axis2, dotnet, gsoap, jaxb, wstools, wsconsume, ora, wsi, wscompile, wsimport, cxf, xfire or xmlbeans
s
the soapui-settings.xml file to use (usually the one in the soapUI bin directory)
5 ( 4 toolrunner.bat -iAWSECommerceServicePortType -taxis1 G:\test\Amazon-soapui-project.xml
( ?+ %
6
SoapUI 1.6 beta1 Tool Runner 02:27:02,386 DEBUG [SoapUI] initialized soapui-settings from [soapui-settings.xml] 02:27:02,506 INFO [WsdlProject] Loaded project from [G:\test\Amazon-soapui-project.xml] 02:27:08,765 INFO [SoapUIToolRunner] Running tools for project [Amazon] directory: C:\java\axis-1_4\lib command: java -cp activation.jar;axis-ant.jar;axis.jar;bsf.jar;castor-0.9.5.2.jar;commons-codec-1.2.jar; commons-discovery-0.2.jar;commons-httpclient-3.0-rc2.jar;commons-logging-1.0.4.jar;commons-net-1.0.0-dev. httpunit.jar;ibmjsse.jar;javax.jms.jar;jaxrpc.jar;JimiProClasses.jar;junit-3.8.1.jar;log4j-1.2.8.jar; mailapi_1_3_1.jar;saaj.jar;servlet.jar;wsdl4j-1.5.1.jar org.apache.axis.wsdl.WSDL2Java -v -W -s -a -H -T 1.2 -o g:\test\amazon C:\DOCUME~1\OLE~1.MAT\LOCALS~1\Temp\tempdir8304.tmp\AWSECommerceService.wsdl Parsing XML file: C:\DOCUME~1\OLE~1.MAT\LOCALS~1\Temp\tempdir8304.tmp\AWSECommerceService.wsdl Generating
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.15.4 TOOLRUNNER
80
g:\test\amazon\com\amazon\webservices\AWSECommerceService\_2006_05_17\CartGetRequest.java ... Generating g:\test\amazon\com\amazon\webservices\AWSECommerceService\_2006_05_17\deploy.wsdd Generating g:\test\amazon\com\amazon\webservices\AWSECommerceService\_2006_05_17\undeploy.wsdd SoapUIToolRunner: Execution finished successfully 02:27:14,593 INFO [SoapUIToolRunner] time taken: 5814ms
5 ( ?+ 6
:(6 G
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.16 KEYBOARD SHORTCUTS
1.16
81
Keyboard shortcuts ......................................................................................................................................
Keyboard Shortcuts
1 1 Global Actions
5 6 Keyboard Shortcut
Functionality
F1
Shows online help.
Delete
Deletes the selected item.
F2
Renames the selected item.
F9
Copies/Clones the selected item.
Enter
Show the associated editor.
Main Menu Actions
5 % 4 Keyboard Shortcut
Functionality
Ctrl N
Creates a new soapUI project in the workspace.
Ctrl I
Imports an existing project into the workspace.
Ctrl Tab
Select next. Selects next window in the soapUI desktop.
Ctrl Alt P
Preferences.
Ctrl Q
Saves the entire workspace and exits soapUI.
Ctrl Alt Q
Exits soapUI without saving anything.
Desktop Actions
5 1 1 4
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.16 KEYBOARD SHORTCUTS
82
Keyboard Shortcut
Functionality
Ctrl F4
Close Current. Closes the active window in the soapUI desktop
Ctrl Alt O
Close Others. Closes all windows but the active window in the soapUI desktop.
Ctrl Alt L
Close All. Closes all windows in the soapUI desktop.
Ctrl Tab
Select next. Selects next window in the soapUI desktop.
Project Actions
5 *7 : Keyboard Shortcut
Functionality
Ctrl U
Adds a new WSDL from an URL
Ctrl F
Adds a new WSDL from a local File
Ctrl T
Creates a new TestSuite
Ctrl S
Saves the project
Ctrl Shift S
Prompts to save the project to a new file
Interface Actions
5 : Keyboard Shortcut
Functionality
Ctrl E
Shows the Interface Endpoints dialog.
Ctrl W
Validate the interface with the WS-I validation tools
Ctrl P
Saves the entire WSDL and included/imported files to a local directory
F5
Reloads the definition for this interface and its operations
Operation Actions
5 ) : Keyboard Shortcut
Functionality
Ctrl N
Creates a new request for the Operation.
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.16 KEYBOARD SHORTCUTS
83
Request Actions
5 89 : Keyboard Shortcut
Functionality
Ctrl Alt A
Adds the request to a TestCase
Working with Requests and Responses
5 1 89 24 Keyboard Shortcut
Functionality
Alt Enter
Submits the request to the specified endpoint.
Alt X
Cancels a running submit.
Alt left/right arrow
Move between element values
Alt O
Changes the orientation of the request/response splitter
Ctrl Alt Tab
Shift focus between request/response area.
Alt V
Validate the contained messages' XML and against its operations message definition.
Alt W (in the response editor)
Validate the current request/response messages against the WS-I Basic Profile (requires a response).
Ctrl D
Delete line. Deletes the current Line in the XML Editor.
F3
Shows the Find/Replace Dialog.
Alt F
Pretty-Prints the current XML
Ctrl S
Prompts to save the contents of the editor to a file.
TestSuite Actions
5 5" : Keyboard Shortcut
Functionality
Ctrl N
Creates a new TestCase.
TestCase Actions
5 5/ :
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.16 KEYBOARD SHORTCUTS
84
Keyboard Shortcut
Functionality
Ctrl N
Creates a new LoadTest.
Ctrl Shift O
Shows the LoadTest Options.
Working with TestCases
5 1 5/ 24 Keyboard Shortcut
Functionality
Ctrl Up/Down
Move a TestCase up or down in the TestCase Editor.
Working with Groovy Scripts
5 1 = 24 Keyboard Shortcut
Functionality
Ctrl Enter
Executes the current groovy script.
D 1 )
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17 IDE/TOOL PLUGINS
1.17
85
IDE/Tool Plugins ......................................................................................................................................
IDE / Tool Plugins % #2 Tool/IDE
Functionality
Maven 1.X/2.X
Provides goals/properties corresponding to each of the soapUI command-line tools and its arguments
NetBeans 5.5/6.0
Provides full soapUI functionality from within the NetBeans IDE
IntelliJ IDEA 6+
Provides full soapUI functionality from within IntelliJ IDEA
Eclipse 3.2+
Provides full soapUI functionality from within Eclipse plus a soapUI Project Nature for integrated browsing/viewing of eclipse/soapUI projects in the Project Explorer.
JBossWS/JBossIDE 2.0.0+
Provides the same functionality as the standard Eclipse plug-in plus a number of JBossWS-related wizards/dialogs/actions.
" #2 1 * "
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.1 MAVEN PLUGINS
1.17.1
86
Maven Plugins ......................................................................................................................................
soapUI maven plugins ?( C( 5" 5/ $ 5 1 % ( ( 8 6 ?+ C+ :(6 ?+
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.1.1 MAVEN 1.X PLUGIN
1.17.1.1
87
Maven 1.X Plugin ......................................................................................................................................
soapUI maven 1.X plugin Download
* # %6 maven plugin:download -DgroupId=eviware -DartifactId=maven-soapui-plugin -Dversion=1.6 -Dmaven.repo.remote=http://www.soapui.org/repository
7(4 <dependency> eviware <artifactId>maven-soapui-plugin 1.7.6 plugin
7 4 maven.repo.remote=http://www.ibiblio.org/maven,http://www.soapui.org/repository
Usage
# D 1 7 ${pom.artifactId}-soapui-project.xml maven.soapui.project 8 maven soapui:test
maven soapui:loadtest
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.1.1 MAVEN 1.X PLUGIN
88
5 7 5/ 5" 5" 5/ $ 5 maven.soapui.test.testsuite maven.soapui.test.testcase maven.soapui.test.loadtest 589 ( 5/ maven.soapui.test.XX ( maven soapui:test -Dmaven.soapui.test.endpoint=http://somehost.com:8080/services/MyService
D 589 ( 5/ 5/ A ( C 5" 7 4 maven soapui:test -Dmaven.soapui.test.testsuite=TestSuite1 -Dmaven.soapui.test.endpoint=http://somehost.com:8080/services/MyService1
maven soapui:test -Dmaven.soapui.test.testsuite=TestSuite2 -Dmaven.soapui.test.endpoint=http://someotherhost.com:8080/services/MyService2
5 " 5/ 8 " 5/ 8 maven.soapui.report.XX Sample Outputs
E ( 7 6 maven soapui:test -Dmaven.soapui.project=sample-soapui-project.xml __ __ | \/ |__ _Apache__ ___ | |\/| / _` \ V / -_) ' \ ~ intelligent projects ~ |_| |_\__,_|\_/\___|_||_| v. 1.0.2 build:start: soapui:test: [echo] Running soapUI project sample-soapui-project.xml with endpoint [] [java] SoapUI 1.6 TestRunner [java] 23:57:56,258 INFO [SoapUITestCaseRunner] setting projectFile to [sample-soapui-project.xml] [java] 23:57:56,838 INFO [WsdlProject] Loaded project from [sample-soapui-project.xml] [java] 23:57:57,219 INFO [SoapUITestCaseRunner] Running soapui tests in project
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.1.1 MAVEN 1.X PLUGIN
89
[Sample Project] [java] 23:57:57,219 INFO [SoapUITestCaseRunner] Running soapui suite [Test Suite] [java] 23:57:57,219 INFO [SoapUITestCaseRunner] Running soapui testcase [Test Conversions] [java] 23:57:57,219 INFO [SoapUITestCaseRunner] runing step [SEK to USD Test] [java] Retrieving document at 'http://www.webservicex.net/CurrencyConvertor.asmx?WSDL'. [java] 23:57:59,893 INFO [SchemaUtils] Loading schema types from [http://www.webservicex.net/CurrencyConvertor.asmx?WSDL] [java] 23:57:59,893 INFO [SchemaUtils] loading schema types from http://www.webservicex.net/CurrencyConvertor.asmx?WSDL [java] Assertion [Schema Compliance] has status VALID [java] Assertion [XPath Match - check for less than 0.2] has status VALID [java] Assertion [XPath Match - check for more than 0.1] has status VALID [java] Assertion [SOAP Fault Assertion] has status VALID [java] 23:58:01,025 INFO [SoapUITestCaseRunner] runing step [USD to SEK Test] [java] Assertion [Schema Compliance] has status VALID [java] Assertion [XPath Match - check for less than 8] has status VALID [java] Assertion [XPath Match - check for more than 7] has status VALID [java] Assertion [SOAP Fault Assertion] has status VALID [java] 23:58:01,495 INFO [SoapUITestCaseRunner] Finished running soapui testcase [Test Conversions], time taken = 4276ms [java] 23:58:01,505 INFO [SoapUITestCaseRunner] Running soapui testcase [Test XMethods Query] [java] 23:58:01,505 INFO [SoapUITestCaseRunner] runing step [Test getAllServiceNames] [java] Assertion [XPath Match - check for Anagram Service] has status VALID [java] 23:58:03,488 INFO [SoapUITestCaseRunner] runing step [Transfer values] [java] 23:58:03,688 INFO [SoapUITestCaseRunner] runing step [Test getServiceDetail] [java] Assertion [XPath Match] has status VALID [java] 23:58:03,949 INFO [SoapUITestCaseRunner] Finished running soapui testcase [Test XMethods Query], time taken = 2444ms [java] 23:58:03,959 INFO [SoapUITestCaseRunner] soapui suite [Test Suite] finished in 6740ms BUILD SUCCESSFUL Total time: 10 seconds Finished at: Sun Oct 02 23:58:04 CEST 2005
6 maven soapui:loadtest -Dmaven.soapui.test.loadtest=LoadTest1 -Dmaven.soapui.report.folder=results __ __ | \/ |__ _Apache__ ___ | |\/| / _` \ V / -_) ' \ ~ intelligent projects ~ |_| |_\__,_|\_/\___|_||_| v. 1.0.2 Attempting to download swingx-SNAPSHOT.jar. build:start: soapui:loadtest: [echo] Running soapui project jbossws-soapui-project.xml [java] SoapUI 1.6 LoadTestRunner [java] 22:48:13,116 INFO [SoapUILoadTestRunner] setting [jbossws-soapui-project.xml] [java] 22:48:13,116 INFO [SoapUILoadTestRunner] setting [java] 22:48:13,116 INFO [SoapUILoadTestRunner] setting
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
with endpoint [] projectFile to testSuite to [test] testCase to [testcase3]
1.17.1.1 MAVEN 1.X PLUGIN
[java] 22:48:13,647 INFO [WsdlProject] Loaded project from [jbossws-soapui-project.xml] [java] 22:48:14,818 INFO [SoapUILoadTestRunner] Skipping testcase [testing], filter is [testcase3] [java] 22:48:14,818 INFO [SoapUILoadTestRunner] Skipping testcase [testcase2], filter is [testcase3] [java] 22:48:14,818 INFO [SoapUILoadTestRunner] Running LoadTest [LoadTest1] [java] 22:48:14,878 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.0 [java] 22:48:15,870 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.038 [java] 22:48:16,871 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.102 [java] 22:48:17,873 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.14 [java] 22:48:18,884 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.204 [java] 22:48:19,876 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.274 [java] 22:48:20,887 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.35 [java] 22:48:21,889 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.424 [java] 22:48:22,890 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.488 [java] 22:48:23,891 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.564 [java] 22:48:24,893 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.642 [java] 22:48:25,894 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] finished with status FAILED [java] 22:48:25,894 INFO [SoapUILoadTestRunner] Exporting log and statistics for LoadTest [LoadTest1] [java] 22:48:25,944 INFO [SoapUILoadTestRunner] Exported 36 log items to [results\LoadTest1-log.txt] [java] 22:48:26,265 INFO [SoapUILoadTestRunner] Exported 33 error results [java] 22:48:26,265 INFO [SoapUILoadTestRunner] Exported 3 statistics to [results\LoadTest1-statistics.txt] [java] 22:48:26,265 INFO [SoapUILoadTestRunner] Skipping testcase [testcase4], filter is [testcase3] [java] 22:48:26,265 INFO [SoapUILoadTestRunner] soapui suite [test] finished in 11447ms [java] 22:48:26,265 INFO [SoapUILoadTestRunner] 1 load tests failed: [java] 22:48:26,265 INFO [SoapUILoadTestRunner] LoadTest1: Maximum number of errors [30] exceeded for step [Groovy Script] [java] 22:48:26,265 ERROR [SoapUILoadTestRunner] com.eviware.soapui.support.SoapUIException: LoadTests failed BUILD FAILED File...... C:\Documents and Settings\ole.matzura\.maven\cache\maven-soapui-plugin-1.5beta1\plugin.jelly Element... ant:java Line...... 104 Column.... 105 Java returned: 1 Total time: 18 seconds Finished at: Sun Mar 12 22:48:26 CET 2006
:(6 ?+
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
90
1.17.1.1 MAVEN 1.X PLUGIN
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
91
1.17.1.2 MAVEN 2.X PLUGIN
1.17.1.2
92
Maven 2.X Plugin ......................................................................................................................................
soapUI maven 2.X plugin Usage
* C 7 (4 eviwarePluginRepository http://www.eviware.com/repository/maven2/
5 ( eviware <artifactId>maven-soapui-plugin 1.7.6 <projectFile>sample-soapui-project.xml http://127.0.0.1:8181
8 mvn eviware:maven-soapui-plugin:test
mvn eviware:maven-soapui-plugin:loadtest
,1" mvn eviware:maven-soapui-plugin:mock
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.1.2 MAVEN 2.X PLUGIN
93
5 7 5/ 5" 5" 5/ $ 5 testSuite testCase loadTest Integrated Tools
% 7 1 % mvn eviware:maven-soapui-plugin:tool
C % 6 eviware <artifactId>maven-soapui-plugin 1.7 <projectFile>sample-soapui-project.xml OleTest IOrderService wsi,axis1,axis2 <settingsFile>C:\workspace\core\soapui-settings.xml <executions> <execution> generate-sources generate
" ( !"% (? (C !"% :(6 C+
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.2 NETBEANS PLUGIN
1.17.2
94
NetBeans Plugin ......................................................................................................................................
soapUI NetBeans-Plugin 5 :D %* % :D OOM@ ! " 7 " C@ % 7 7 :D 7 3 : 3 7 1 :D 7 E 6 Getting Started
# :D, " A :D * " A " % ( = "
:D * = 5 #1 :D Creating a soapUI Project
7 :D 7 5 7 : *7 %X ") %X ! " 5 *7 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.2 NETBEANS PLUGIN
3:(3 7 6 " !"#$ = 5" ,1" !"#$ " ( *7
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
95
1.17.2 NETBEANS PLUGIN
# 9 ) 7 :D 3*73 : 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
96
1.17.2 NETBEANS PLUGIN
Log and Property Views
5 $ !Y $ :D 1 6
5 % % :D * ! !
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
97
1.17.2 NETBEANS PLUGIN
98
Demonstration Movies
:D M@ ,< ) 2"D C@ :D ) 2"D % 6 %7 # [) 2"D[[:DM 5 1 :D 6 , ? !"#$ !"#$ D*2$
, C !"#$ ,1 !"#$ 7
,1 !"#$ D*2$ , . I+%!" ! " :(6 :D *
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.2 NETBEANS PLUGIN
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
99
1.17.2.1 INSTALLATION
1.17.2.1
100
Installation ......................................................................................................................................
Installing the NetBeans-Plugin in NetBeans 6.0 E 1% * :D M@4 " " A D ( A 1 ( " :D 35 * 3 " 3# 3 3 * 3
) :D 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.2.1 INSTALLATION
101
: 3 3 :D I 3/ 3 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.2.1 INSTALLATION
5 % 3 3 6
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
102
1.17.2.1 INSTALLATION
)G 5 4 16
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
103
1.17.2.1 INSTALLATION
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
104
1.17.3 INTELLIJ PLUGIN
1.17.3
105
IntelliJ Plugin ......................................................................................................................................
soapUI IntelliJ-Plugin 5 I%* % I #2
! " I 2( 1 5!6 3 : 3 5! !1 : # 5 3 $ 3 5! $ 5 #1 * #2 E 6 / 3%?3 33 1 I Installation
5 " A I % I *= 9 4 ( ( 6 -Xms128m -Xmx512m -XX:MaxPermSize=128m -ea
Getting Started
5 ( = "
I * = 5 #1 I :(6 !1 :D
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.4 ECLIPSE PLUGIN
1.17.4
106
Eclipse Plugin ......................................................................................................................................
soapUI eclipse-plugin 5 3 3 ?L 7
5 1 "!5[!5 1 )G & 1 ' / % " A 6 & ' * Update Site
6 ( % % 6 ? " 3E 33" 33A 3 C " 3" 3 . * 3: 8 "3 B " A 8 = " = H
The soapUI Perspective
) * !) * )
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.4 ECLIPSE PLUGIN
107
/ 3 3 5 C 4 3 : 3 : # 3 $ 3 : 1 1 1 ) !" F) /
soapUI Preferences
, " !* 4
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.4 ECLIPSE PLUGIN
:(6 :
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
108
1.17.4.1 SOAPUI NATURE
1.17.4.1
109
soapUI Nature ......................................................................................................................................
soapUI Nature 5 : % I % 7 1 % 7 5 ( 1 3 %3 6 Step 1: Enable soapUI Nature
" I 7 : 7 6
3 ! "3 76
! 2 *7 2( F 1 7 %1% 3 3 7 6
Step 2: Create or Import a WSDL
- !"#$ 7 & ( ! 5 *7 !"#$ 2' 7 7 3 !"#$ 3
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.4.1 SOAPUI NATURE
110
! !"#$ 7 1 !"#$ 3 %X *73
) !"#$ 3 3 3 ! "3 6
Step 3: Generate Code
: 3= %X ( ?+ 3
" I 7
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.17.4.1 SOAPUI NATURE
" 3= 3 1 ( & 3* %X %X 53' 6
5 I & H'
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
111
1.17.4.1 SOAPUI NATURE
112
&5 1 (% 7 5 ' Step 4: Implement, Deploy and Test
! "
9 3 3 1H :(6 !1 ID !"
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.18 KEYBOARD SHORTCUTS
1.18
113
Keyboard shortcuts ......................................................................................................................................
Keyboard Shortcuts
1 1 Global Actions
5 6 Keyboard Shortcut
Functionality
F1
Shows online help.
Delete
Deletes the selected item.
F2
Renames the selected item.
F9
Copies/Clones the selected item.
Enter
Show the associated editor.
Main Menu Actions
5 % 4 Keyboard Shortcut
Functionality
Ctrl N
Creates a new soapUI project in the workspace.
Ctrl I
Imports an existing project into the workspace.
Ctrl Tab
Select next. Selects next window in the soapUI desktop.
Ctrl Alt P
Preferences.
Ctrl Q
Saves the entire workspace and exits soapUI.
Ctrl Alt Q
Exits soapUI without saving anything.
Desktop Actions
5 1 1 4
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.18 KEYBOARD SHORTCUTS
114
Keyboard Shortcut
Functionality
Ctrl F4
Close Current. Closes the active window in the soapUI desktop
Ctrl Alt O
Close Others. Closes all windows but the active window in the soapUI desktop.
Ctrl Alt L
Close All. Closes all windows in the soapUI desktop.
Ctrl Tab
Select next. Selects next window in the soapUI desktop.
Project Actions
5 *7 : Keyboard Shortcut
Functionality
Ctrl U
Adds a new WSDL from an URL
Ctrl F
Adds a new WSDL from a local File
Ctrl T
Creates a new TestSuite
Ctrl S
Saves the project
Ctrl Shift S
Prompts to save the project to a new file
Interface Actions
5 : Keyboard Shortcut
Functionality
Ctrl E
Shows the Interface Endpoints dialog.
Ctrl W
Validate the interface with the WS-I validation tools
Ctrl P
Saves the entire WSDL and included/imported files to a local directory
F5
Reloads the definition for this interface and its operations
Operation Actions
5 ) : Keyboard Shortcut
Functionality
Ctrl N
Creates a new request for the Operation.
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.18 KEYBOARD SHORTCUTS
115
Request Actions
5 89 : Keyboard Shortcut
Functionality
Ctrl Alt A
Adds the request to a TestCase
Working with Requests and Responses
5 1 89 24 Keyboard Shortcut
Functionality
Alt Enter
Submits the request to the specified endpoint.
Alt X
Cancels a running submit.
Alt left/right arrow
Move between element values
Alt O
Changes the orientation of the request/response splitter
Ctrl Alt Tab
Shift focus between request/response area.
Alt V
Validate the contained messages' XML and against its operations message definition.
Alt W (in the response editor)
Validate the current request/response messages against the WS-I Basic Profile (requires a response).
Ctrl D
Delete line. Deletes the current Line in the XML Editor.
F3
Shows the Find/Replace Dialog.
Alt F
Pretty-Prints the current XML
Ctrl S
Prompts to save the contents of the editor to a file.
TestSuite Actions
5 5" : Keyboard Shortcut
Functionality
Ctrl N
Creates a new TestCase.
TestCase Actions
5 5/ :
©2005 EVIWARE.COM • ALL RIGHTS RESERVED
1.18 KEYBOARD SHORTCUTS
116
Keyboard Shortcut
Functionality
Ctrl N
Creates a new LoadTest.
Ctrl Shift O
Shows the LoadTest Options.
Working with TestCases
5 1 5/ 24 Keyboard Shortcut
Functionality
Ctrl Up/Down
Move a TestCase up or down in the TestCase Editor.
Working with Groovy Scripts
5 1 = 24 Keyboard Shortcut
Functionality
Ctrl Enter
Executes the current groovy script.
D 1 )
©2005 EVIWARE.COM • ALL RIGHTS RESERVED