Академический Документы
Профессиональный Документы
Культура Документы
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.3 Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.3.3 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3.4 WS-Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.4 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.8 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
1.11.2.1 Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.12.1 Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
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.1 Overview
......................................................................................................................................
soapUI Overview
Prerequisites
!"#$ %
&
' (%
")* %
!"#$ &
'
&
%'
&
'
+,$
% +* +,$ "
-
!./ (
!."
0
&) 1
1
%1
7
1
'
The Navigator
5
7
6
6
1
*7 &' 6
7 1
89 &' 6 9
5/
5/
5
1 1
%1
2
Property-Mode
5 :
:
/,
& (
89
5/ 589 "
Main Menu
% *
(
! %
(
* + % )
=
+
!
% )
=
"
,
% )
& '
*
&
* ' % $ ,
$
&
* ' % $ ,
*-! % )
6
).
* % "
System Properties
5 " *
>
Log Tabs
5
1
4
8
1
%
(
( & ?@@@'
(
& '
5
& '6
* ! %
0
B7
B7 (
3
%
B7(3
& 1
'
:(6 *
2 %
%
%
1 1 1
&
' %
%1 5%=
1 1 1 5%=
%
3
3 0 1
(
,1" 5/
5
%1
1
$5
5 C %
:(6
"
3
53 3D $3
(
/
3= 3% *%
6
5
3E
" $ #3
3E
$3
: % 9 5 5#2
%
%
*
:(6 *
1.1.3 Preferences
......................................................................................................................................
soapUI Preferences
5
3*3
6
Tab Description
Import Preferences
5
A
(
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)
Setting Description
Proxy Settings
Setting Description
Setting Description
SSL Settings
Setting Description
/
9
5
,1"
( ,12
WSDL Settings
Setting Description
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.
Setting Description
Editor Settings
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 !"%
Setting Description
Global Properties
,
5 32 )3
1
& *
'
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
:(6 +* "
WSDL Coverage
* 9
!"#$ /
0
!"#$
A 5 ,1" ,1
/ ")* ,
5
!"#$ /
1
/
5
H
! "
!"#$
1
A
Coverage Visualization
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
Assertion Coverage
Coverage Options
5 /
)
6
/ 2
F %
/ K F %
K
. 6
? A A 5 %
!"#$
5
/
* *7 5" 5/
C A ,1" %
!"#$
1
!"#$
0 ,1
. A ")* , %
!"#$
%
:(6
1.2 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
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
'
" # % #
(
$
6
1
1
:
&%'6 1
:(6 *7
1.3 Projects
......................................................................................................................................
Projects
7
!1
& '
(
*7
:
6
")*E55* D
*5
5"
5/ )
,1"
,1
)
7 (%
& ' 5
1 /F" %
!"#$
& '
& ' !
(
7 1
3
*73
!1
Creating Projects
"
: !"#$ *7
!1
,
6
7 9
!"#$
7 & 8$'
9
!"#$
7 &
7
7%
('
)
7 &
<project-name>-soapui-project.xml' *
+,$
1 "/, +,$
Remote Projects
?LM
7%
&' % &
' !
8$
7 1
8
7
1
%
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
" # % #
(
Project View
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
5
7
7
5 , ,1" , 5 9 1
7
Description Inspector
Description Inspector
5 *
*7 *
5
*7
5 " "
$ "
=
"
7 5
*7
89 (
1.3.2 Coverage
......................................................................................................................................
Project Coverage
*7 /
/
5 /
7
/
/
8 /*
5"
7
(
:(6
1.3.3 Requirements
......................................................................................................................................
Project Requirements
*7 89 &
* '
9
7
(
(
9
Menu Bar
) 3
89
3
8 89
3
89 ( "
3
2(
89 ( "
Requirements List
Requirements Inspectors
1.3.4 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
!"" %
Usage
Keystores
5 G / 1 %
!"%"
5
G ,
%
5
G 6
" 6 1 &8 )'
" 6 % 1 &8 )
* 6 1
9
# 6 1
# * 6
" * 6 I ""2 " *
Outgoing WSS
)
!""
4
2
3!"" 23
!""% 1
!
4
Incoming WSS
!""
&
,189
9
'
" !"%"
9
1 1
!
!""
9 ,18
3!""3
5
6
A
!"%" " 589
!"%"
:(6
1.4 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/
" # % #
(
5 3 #3
0
D
*5
6
:
)
)
& '
!
%9
5/
5
6
! 8$
& (
'
!
& (
+,$ "
5
6
9
*
3
% 589
7
" 3
% )
89 589
%
&
%
'
& (
'
Caching Definitions
D !"#$+"# 7
6
( ! % (
5
&% " % 1 9
) %
9
5 7 1
7%
4
(
1
1
*
%
7 *7 # 5
5
!"#$ & '
#
!
!"#$
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
* )
!
&# $'
Service Endpoints
"
3" 2
3 (
!"#$
8$
8$% 3* 2
3
E
"
9 !
9
"
89 589
9
!
3)13
9 %9
WSDL Content
5
!"#$
!"#$+"#
5
2
1
4
WS-I Reports
!
!"% 0
!"% 0 1
4
!"%
/
8
1
1 6
"
3" $
3
!" "
5
%
4
WSDL Refactoring
!
!"#$
9
(
+* (
(
5 !"#$ 8
*
0
(
(
-
Getting Started
! !"#$
38 3
*
6
"
# 8$
!"#$ 9 1
9 "
:( 0 !"#$
& 9 '
)
& '
4
& '
3/3
3#3
5
9 & ' 9
&
'
9 32 , 3 7
&*
2 , 1(
1
'
/
8
,
(
9
8 ) "
* 9 1
D : " (
5
+* &
(' % : +* (
*
: +*
+*
:(6
1.5 Operations
......................................................................................................................................
Operations
!
*5
5
% 6
)
%
%
,1)
(
,1"
) %
&
* ' %
,18
"
(
5/
0 3
% 89
1
. %
" # % #
(
"
&%'6 5
*5
, &%'6 " # 8*/
&%'6 5 (
&
'
"
&%'6 5 (
&
'
)
&%'6 "
,
)
&%'6 "
,
"4&, &%'6 " %
& 9 '
:(6 !1
89
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
" # % #
(
6 E55*
9 &
,,2+)*
'
8
" )
6 ,5),
$.
6 5
1
,
)
6 5
F 5 +,$
8
*
6
) 2 9
A 2
9
) F
5
4
E55* E 6 9
E55* E
6 9
""$ &8
' 6
""$ #
*
& '
(
&
'
Editor Toolbar
. ,
%
Editor Layouts
Aut
HTTP Headers
SSL Details
5 ""$ #
(
9 ** *
Submitting requests
!
9
%2
9
D
" 1
9
&
'
#
9
% (
)
9 3/3
%+
9
9 #
9 1
%%
Authentication
!""%* 5
!""%55$ 89
# 5
!"%"
4
Message Validation
!
%F 9
4
? 5
C 5 ")*
!"#$ ")*
.
,,2
5
F %(
# 1
&
'
% )1%
5
Copy Requests
*
1%
589 5
6
!
1 (
9
6
(, 6 )
589 &'
*
6 ,
89
589
7
! 6 )
589
(
589
89
&*
9
'
5 F / /
9 9 F
1
6
D
5 3F 5
3
6
%
& '
, %
# %
5
9
, # %
A (
9 3#3
5
Datatype Support
5 9 33
% 3" F 3
( 6
Schema Support
5
1 6
" 4 () ? (
2 D
%(
D 1 %
3D3
(
R
" "9 /
(
% /
%(
Overview View
* 3)3 0
1%9
%
%
5
%/
E
%
5
1 ) %5 6
#)!: % (
* %
$5V/ %
& '
$5V2 % (
& '
% +*
*
%52(
,1 8
5 89
:(6 ,
Message Inspectors
* (%
+,$ " ) 2
(
5
6
+"# %
+,$ "
5 %
+,$ %
+,$
+*
# %
/
%
,
/
2
Coverage Inspector
&K' 1
3# F 3 1(
5 5
4
A
)
3 3 1
5
5
0 4
5 +,$ A
+*
+,$
) 2
+* (
/%/ 5
5 #
5
) 2 " 2
** * 9 4
:(6
%
%
& & '
,5),
(
#,2'
Attaching files
% 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
<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:part>
<mime:content part="ClaimPhoto"
type="image/jpeg"/>
</mime:part>
</mime:multipartRelated>
</wsdl:input>
<wsdl:output>
<soapbind:body use="literal"
namespace="http://example.com/mimetypes"/>
</wsdl:output>
</wsdl:operation>
swaRef Attachments
5 !"% *
swaRef
8
cid:somename 33
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"/>
<ClaimForm>cid:claimForm</ClaimForm>
MTOM Attachments
<wsdl:definitions xmlns:xmime="http://www.w3.org/2005/05/xmlmime
...
<wsdl:types>
...
<xsd:element name="ClaimImage" type="xmime:base64Binary"/>
<ClaimImage xm:contentType="image/gif">cid:claimImage</ClaimImage>
"
,5), 89 # 5
%
A
- ,5), 9
Anonymous Attachments
Inline files
<wsdl:definitions xmlns:xmime="http://www.w3.org/2005/05/xmlmime
...
<wsdl:types>
...
<xsd:element name="ClaimData" type="xsd:hexBinary"/>
<ClaimData>file:c:\data\mydata.zip</ClaimData>
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 %
1.7 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
5
% & ' %
*
3= #3
(
"
&
'
(
!
*7% 33
*
%,
4
X
'
* 1 3=3 (
5 1
& O '
(
&'
"
1
1
soapui.demo soapui/demo
5
%
7
8
7
(
Example
5
(
*
=
6
package soapui.demo
class Greet
{
def name
def log
Greet(who, log)
{
name = who;
this.log = log
}
8
= 2 &
'
= 2
6
:(6 !1
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
5
% & ' %
*
3= #3
(
"
&
'
(
!
*7% 33
*
%,
4
X
'
* 1 3=3 (
5 1
& O '
(
&'
"
1
1
soapui.demo soapui/demo
5
%
7
8
7
(
Example
5
(
*
=
6
package soapui.demo
class Greet
{
def name
def log
Greet(who, log)
{
name = who;
this.log = log
}
8
= 2 &
'
= 2
6
:(6 !1
1.8 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/
(
Global Properties
=
= *
%
(
%
%#
A ( % 3 (3
test.a.property=hello!
${test.a.property}
! (
6
Property Expansion
( &3(
3'
5 ( 6
${[scope]propertyName[#xpath-expression]}
(
3(3
6
${Search Request#Response#//ns1:Item[1]/n1:Author[1]/text()}
!
38
3
3" 89 3
:
(
(
Nested Properties
%( & H' ( 6
test = "value"
testexp = "${test}"
testexp = "value"
exp = "${exp}"
Property-Expansion Points
9
1
& ,18 /( 8
"
' "
:
+*+N
/:%/
89
9 1%
E55* E
*
%5
+* (
#"
&
* '
,18
&
* '
*
F #"1
)
!""%
",$
(
(
1
H
Built-In Properties
5
%(
% 5
:
3*
%,3
result the value returned by the script from its last run (read-only)
script the script itself
Run TestCase Step
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/
(
Global Properties
=
= *
%
(
%
%#
A ( % 3 (3
test.a.property=hello!
${test.a.property}
! (
6
Property Expansion
( &3(
3'
5 ( 6
${[scope]propertyName[#xpath-expression]}
(
3(3
6
${Search Request#Response#//ns1:Item[1]/n1:Author[1]/text()}
!
38
3
3" 89 3
:
(
(
Nested Properties
%( & H' ( 6
test = "value"
testexp = "${test}"
testexp = "value"
exp = "${exp}"
Property-Expansion Points
9
1
& ,18 /( 8
"
' "
:
+*+N
/:%/
89
9 1%
E55* E
*
%5
+* (
#"
&
* '
,18
&
* '
*
F #"1
)
!""%
",$
(
(
1
H
Built-In Properties
5
%(
% 5
:
3*
%,3
result the value returned by the script from its last run (read-only)
script the script itself
Run TestCase Step
Functional Testing
! "
5/
5"
( 9 5 (
5"
A
6
6 ! "
/
6 ! "
*
6 9 9
# #
6 1 9
(
& (
'
:(6 5"
Add Assertions
: %9 1
" 9 &3
%9 3'
"
3" /
3 1
!"#$" 5
9
&
'
* 9
%
9
%9
1
8 =
:(6 =
" $5
1.9.2 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
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 Runner
# /1
5"
5" 8
5/ *
D
5/ %1
5/
5/ 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"
Generating Reports
"
3/ 8
3
(
E5,$
6
(
6
TestSuite Coverage
:(6 5/
1.9.3 TestCases
......................................................................................................................................
TestCases
5/
5"
( 9 $5
5/
5/
TestStep Types
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
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/
" # % #
(
Clone TestCase
"
5/ 5/
6
7
9
7
"
5"
5/
6
5
% & (
%'
5/ 5"
& '
7
9
7
# %1
5/
"
(
5/ 5/
%
5 5/ $
(
6
6
! 5/
( 5"
1
)
5"
E
5/ 1
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/
Clone TestStep
"
5"
5"
6
7
9
7
Generating Reports
"
3/ 8
3
(
E5,$
6
(
6
TestCase Coverage
5 5/ /
/
5"
*7 /
* 2
/
5/
(
/
/
* "
*7 /
TestCase Requirements
5 5/ 89 89 * *7 F
89
5/
89 5/ 9 5/
$
0 3$1 5/3
89 5 1
:(6 !1
589
TestRequests
5%89 ( 9
33
9
5%89 9
3 53
5/ 2
3 "
%X 5 89 3
&
'
)
9
9 4
TestRequest Actions
5
%9
% 6
"
%
5"
& '
$./.
% 5"
(
46 % %
%
$
%
(
%
& '
* %
&
/%
'
$ %
&
/%#'
( ! "
%
589 & '
"
% 589
:
( )
1* ,2 %
589
589 & '
" # %
Change Operation
"
589
6
5
7 )
# %1
589
5/ 2 *
9
89 2
(
6
5 % 3 53
3 3
589
5 589
9
5/
9
C 4 33
389 $
3 & '
9
Clone Assertions
*
% %
589 5
6
:(6
Property Transfers
*
5 5"
*
/
*
5 5"
&
5/ 5" *7 =
*
' 5
33
+*+N (
*
5 "( +*+N
+*+N
%
/D(
%(
+,$
+*
(
* +*
"
(
+* (
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
Transfer Execution
+* (
"
+* (
9
9
+* (
3 3
5/ ( 5/ 3A 3
5/ )
5
6
% A
% & (
'
! % )
% ! +* (
(
&9 1
?O'
!
,/! % )
7
%
+* (
* 9;, %
+* (
+N (
( 7 3
3
PropertyTransfer Example
5
7 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>- your subscription id here-</ns:SubscriptionId>
<ns:Request>
<ns:SearchIndex>Books</ns:SearchIndex>
<ns:Title>Oxford</ns:Title>
</ns:Request>
</ns:ItemSearch>
</soapenv:Body>
</soapenv:Envelope>
<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:SubscriptionId>
<ns:Request>
<ns:Author>?</ns:Author>
<ns:SearchIndex>Books</ns:SearchIndex>
</ns:Request>
</ns:ItemSearch>
</soapenv:Body>
</soapenv:Envelope>
5
+*6
Conditional Gotos
/ =
+*
9
5/ ( 5"
5 5/ (
9
5/
5/
( = "
8
1
& (
%
'
/ "( +*
+*
D & (
'
(
&
589 '
5
) 6
(, 6
$
6
6
6
&
589 '
$ 6
(
:
(
589
& '
" # % #
(
Condition Examples
1
6
Groovy Scripts
5 = "
=
(
5/ 5
7
1
(
6
8 (
/ 5/
(
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/ )
=
= (
6
, 89 (6
// modify
textNodes.clear();
textNodes.add( "test" + System.currentTimeMillis() );
// set property
property.setValue( writer.toString() )
8
8
*
"
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
for( c in 0..cookies.length-1 )
log.info cookies[c].name + " = " + cookies[c].value
GroovyUtils
updateProperty() 6 +E 5"
( & (
'
updateProperty( boolean prettyPrint ) 6
( #
+* (
declareNamespace
+,$ ,
*
2(
...
log.info( holder["//ns1:RequestId"] )
...
holder["//ns:SubscriptionId"] = ""+Math.random()
...
Properties Step
5 *
"
*
5 ="
5
%
( (
( &
'
Properties Editor
Details Tab
5 *
"
# 5 & '
6
06 5 *
$
6
*
(
! %
. %
(
Step Execution
Delay Steps
# 5 "
5/
( 5/
)
%1
$,
& ?@@@'
38 5/3
5"
6
" 5" 5/
( 5 38 *
3
5/
5/
1 8 5/
(
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
:(6
5"
(
6
/
%
9
Q
5
% (
1 7 89 "
5
6
5 ,18
"
,18
589
(% 0 ) 2
*
5
! ( 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
1.9.3.9 DataSource
......................................................................................................................................
5
#"
6
I#D/ #" % I#D/
2( #" % ( 2( &('
= #" %
+,$ #" % ( +,$
A #" % (
# #" %
= #" %
1 #"
#" $
9
5 *
3(
3 #"
8 2 #"
5 #"
#" 353
#" 8
5 $
5 3*3 3"3
3#" 2( 3
DataSource Options
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
JDBC DataSource
Excel DataSource
( %
% (
Grid DataSource
5
2
(
2(
5
5
6
$
%
%
( ( %
XML DataSource
File DataSource
A (
& (
%
'
5
6
A %
"
%
5 F %
Directory DataSource
Groovy DataSource
5
1 #" #" "
5
3 3 7 & "
5"
,
' ( 6
3 3 %
3(3 % 58 /(
(%
38 3 % 58 7
:(6 #" $
"
5
C
6
#" "
% #" "
1
5
"
% "
A (
#"
( 9
#" $
9
#" "
89
&
1 9 '
1.9.3.11 DataSink
......................................................................................................................................
DataSink Options
5
6
% #"1 $5 & '
DataSink Execution
2 5/ (
#"1 "
#"1
F
% *
2(
(
5 3"3
#"1
$5
&0' #"1
JDBC DataSink
Excel DataSink
"
%
(
&%
1
( %
%
File DataSink
Groovy DataSink
5
1 #"1 #"1 "
( 6
3(3 % 58 /(
(%
3
3 % ,
38 3 % 58 7
3
3 %
:(6 $ 5
Load Testing
( %
6
A $5
6
5/
D $5
6 0
* $5
6 (
(
89 %# $5
6
9
%
$5 5/ &
5/ 3: $53
% '
5/
5"
& '
3
3
0
3
3
%%
! 6 " $5 2(
5
*
D
&
' $5
(
5 $"
2(
LoadTest Options
E55* &
'
( (
3
6 " G
%/
! "
6 "
% $5 " & '
CO@
$. #
, 6 # &
%
%
'
)
! 6 #
,
2(
$5
# ( 3ST3
$5 $
( ! 6 /
5
$5
&
1
' I, /
$
5/
%
5 5"
5/
5/
5 " $5 2(
# %1
5"
5"
8
%1
5"
% 5"
$5 5"
$5
5 $5 $
(
$5
# %1
& ' (
9
6
(
$5
,
6
6
$5 & $5 2( '6
Add Assertions
" 3$5 3 $5 2
3
3 " 3"
,( 3
6
5 "
,( 1
(% (
0 %
3
% (
Run again!
:
$5
1
5/ O (
O@@ $5
Now What?
5
$5 "
#
:(6 =
" ,1
LoadTest Configuration
5 ( $5
6
5 $5 $
$5
5 $5 "
5/ &
'
LoadTest Limit
"
$ @ $ 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
33
"
$5
D
$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
6
6
$5 5 (
% 5*"
A (
M@@ ?
.@ ? .@ ?@
1.10.3 Execution
......................................................................................................................................
LoadTest Execution
!
$5
5/
5/
#
$5
6
3/3 $5
$5 (
#
(
" 56
min %
1
max %
1
avg %
last %
cnt %
(
tps %
/ 5*"D*"
bytes %
bps %
err %
/
&
5/ ( '
5
5/
Request Step The request duration is calculated depending on the settings in the
LoadTest Options dialog (as described there).
LoadTest Assertions
!
$5
6
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*"
&%
'
1.10.4 Assertions
......................................................................................................................................
LoadTest Assertions
$5 $5
$5 " *
, 3$5 3 $5
6
$5
3
% (
6
0 %
3
% (
$5
$5
:(6 $5 #
1.10.5 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
5
5"
5/ 5 5
%(
(
%
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
8
3
,
!+* "*C * , ?J ?= 8, I82 ?O@[@M
ID I,
Results
soapUI cmdline
Threads jmeter soapUI soapUI (*) 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*" I,
(
5
E
/ IF,
(
5
)
9 33
(
!
") 1
$1
I, I, E55* ?@
! " 9 System.currentTimeMillis()
System.nanoTime() I ?O
Further Analysis
Conclusion
Files
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)
1.11 Mocking
......................................................................................................................................
,1
! "
%6
/
6 ,1" (
5 #
!"#$ & ' 6 "
!"#$
&
'
,1" 5"
! "
6 N 1
!"#$
(
* ,18
5"
5/
")* 9
! "
Create a MockService
9 8
%1
3= ,1"3
6
I
5 ,1" &
'
9
9 ,1"
5 ,18
89 &
4%' 3 3
%
1
5 3
89 3
9
&
'
%
,1"
"
1 ,18
3
89 3
9
,1"
,1) 6
/
H E
,1"
A
,18
9
& ,1"'
= 1 ,1 8
)G
1 6
,1)
&
% ' /
,1)
)
&
'
= %
,1"
&
'
:(6
=
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
) ,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"
" # %
(
9
6
. % 2 ,1"
"
% *
(
G
1
&
0 '
# %1
(
9
6
MockService Inspectors
MockService Options
MockService execution
!
,1"
8
&
,1"'
,1" )
5
%
6
")* 89 33 ! "
9
,1" ,1)
89 #
! ,1"
,1)
,18
5
,1" 9
,1"
WSDL Publishing
!
,1"
!"#$
&!"#$ +"#'
,1"
5
,12
,1"6
"
,1"
1 6
"
6
6
1.11.2.1 Coverage
......................................................................................................................................
MockService Coverage
!
/
,1"
0 1
9
/
* 5
C
6
/ /
6 !"#$
,1 /
6 ,1 1
!
,1" /
* %
/
5
,1" ,1)
4 ,1)
(
:(6
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)
" # %
(
Change Operation
5
6
0 %
,1)
%
1
"
%
1
% ,18
,1)
(
"
%
7
! % 1
(
&
1
# %1
,1)
,1)
A
6
Request Dispatching
9 ,1)
B
(6
3 %
9
%
(
,18
9
%
+* (
,18
% =
D +* "
+*
(
!
+* "
+* (
=
!
* +*
+* "
=
(
=
context % ,18 /( %
5
(
,1)
,18
,1"
" 7
Map
=Q %
& (
'
requestContext % ,18 /( %
5 ( 9
9
,1)
:(6 ,1 8
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
" # %
(
6 5
# %1
,18
,1)
,18
6
5 8
+,$ " E55* E
89 2 & ' 38
"
3
(
& '
Response Scripts
context % ,18 /( %
5
(
,1)
,18
,1"
" 7
Map
= %
& (
'
requestContext % ,18 /( %
5 ( 9
9
,1)
context.randomValue = Math.random()
<detail>${randomValue}</detail>
:(6
"
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
!""
!""
Main Window
5 %
3,
/3
9
5 . % %
6
/ 89 6 9
9
5 C
:(6
1.12.1 Coverage
......................................................................................................................................
:(6
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.
Data-Driven Testing
#%#
( (
5
(
#%# 5
5/
6
/ 89
&' 3%3
/ *
"
(
/ *
5 "
:
(
3*
"
3
(
= "
*
"
D
D
(
0 " "
( 1 -
7
0 !"#$
&
60!"2/"!"2/"'
<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:SubscriptionId>
<ns:Request>
<ns:SearchIndex>Books</ns:SearchIndex>
<ns:Author>?</ns:Author>
</ns:Request>
</ns:ItemSearch>
</soapenv:Body>
</soapenv:Envelope>
3" /
3
3")* A 3
(
3*
"
3 C
3"
#3 3 3
3*
53
C
38 3 *
5 2
89
9
1
6
" 3% 3 * " 26
6
3 3
(
5 = "
(
7 = "
3 3
D
= "
5/
= "
2 2
6
// init properties
def props = new Properties();
props.load( new FileInputStream( "test-input.properties" ));
Template-Driven Testing
5
%#
( #%#
5/
( 5 (
(
#%# 5
(
(
1 (
5/ 1
5
(
3(3
58 /( 2
(
3G
C.@3
def list = []
new File( "testdata.txt" ).eachLine { line -> list.add( line ) }
58 /(
(
33
*
5 89
6
5
9
5 9
1
5
38 / 3
(
coupland,150
king,150
shakespeare,150
5
$5 5/ O
?O
Interactive Testing
= 5"
(
1 %
7
5/ 33
(
5/
0 D1
!
5"
6
*
"
= "
Properties
5
6
)
6
.
$ 6 0
(
6
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" );
// assign
step.setPropertyValue( "Author", map.get( "Author" ));
}
else testRunner.cancel( "No author to search on!" );
!
= *
"
<ns:ItemSearch>
<ns:SubscriptionId>${SubscriptionId}</ns:SubscriptionId>
<ns:Request>
<ns:SearchIndex>Books</ns:SearchIndex>
<ns:Author>${Author}</ns:Author>
</ns:Request>
</ns:ItemSearch>
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>?</ns:SubscriptionId>
<ns:Request>
<ns:SearchIndex>Books</ns:SearchIndex>
<ns:Author>?</ns:Author>
</ns:Request>
</ns:ItemSearch>
</soapenv:Body>
</soapenv:Envelope>
Result Transfer
5
( = *
38 / 3
+* (
6
declare namespace
ns1='http://webservices.amazon.com/AWSECommerceService/2006-03-08';
//ns1:TotalResults/text()
5
6
8
5/
6
Summary
Surveillance Testing
"
1
(
% 3 3
$1
$5 6
*
6
[LoadTest10]
21:16:56,512 INFO [SoapUILoadTestRunner] Exported 1 log items to
[LoadTest10-log.txt]
21:16:56,512 INFO [SoapUILoadTestRunner] Exported 0 error results
21:16:56,512 INFO [SoapUILoadTestRunner] Exported 2 statistics to
[LoadTest10-statistics.txt]
21:16:56,602 INFO [SoapUILoadTestRunner] Running LoadTest [LoadTest25]
21:16:57,113 INFO [SoapUILoadTestRunner] LoadTest [LoadTest25] progress: 0.0046
21:16:58,135 INFO [SoapUILoadTestRunner] LoadTest [LoadTest25] progress: 0.0348
.. etc ..
21:17:37,742 INFO [SoapUILoadTestRunner] LoadTest [LoadTest25] progress: 0.9506
21:17:38,773 INFO [SoapUILoadTestRunner] LoadTest [LoadTest25] progress: 0.9748
21:17:39,845 INFO [SoapUILoadTestRunner] LoadTest [LoadTest25] finished with status
FINISHED
21:17:39,865 INFO [SoapUILoadTestRunner] Exporting log and statistics for LoadTest
[LoadTest25]
21:17:40,095 INFO [SoapUILoadTestRunner] Exported 1 log items to
[LoadTest25-log.txt]
21:17:40,095 INFO [SoapUILoadTestRunner] Exported 0 error results
21:17:40,095 INFO [SoapUILoadTestRunner] Exported 2 statistics to
[LoadTest25-statistics.txt]
21:17:40,105 INFO [SoapUILoadTestRunner] soapui suite [Organization Tests] finished
in 88647ms
$
76
/
F/" A "
&
7
(
% '6
/ 8 %
8
( 3( /3 8
'
= 1
&
3"3
'6
/1 $ D 5"
& %
5"
'6
= 1
1 $ D
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
! "
Tool Integrations
% 1
4
? ( +
% (
!"#$
7
C &
4
!"% D *
. ) 4
5/*%
1
&I+ *E* ' Q 1
% 1
(
Configuration
&
'
!"#$
!"#$ 33 !"#$
!"#$
(
!"#$
!"#$
Custom Arguments
3/
3
1
&' (
&
6%' 5
+A
7 !=
6
Running a tool
' 5
I!"#*
6
JBossWS wstools
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.
JBossWS wsconsume
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.
JWSDP JAX-RPC/wscompile
JWSDP JAX-RPC/wscompile , tested with versions 1.6 and 2.0 wscompile Install the desired JWSDP
tested with versions 1.6 and 2.0 version and install/configure as
required. Specify the directory
containing the wscompile script in
the Tool Integrations settings
dialog.
JWSDP JAX-WS/wsimport
JWSDP JAX-WS/wsimport , tested with versions 1.6 and 2.0 wsimport Install the desired JWSDP
tested with versions 1.6 and 2.0 version and specify the jaxws/bin
directory in the soapUI Tool
Integrations settings
Apache Axis 1.X tested with versions 1.2.1, 1.3 wsdl2java Install Axis 1.X and specify the
and 1.4 installation directory in the
soapUI Tool Integrations settings
Apache Axis 2
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
Apache CXF 2.0 tested with 2.0.1 wsdl2java Install CXF and specify the
installation directory in the
soapUI Tool Integrations settings
XFire 1.X
XFire 1.X WsGen tested with 1.X WsGen Install XFire 1.X and specify the
installation directory in the
soapUI Tool Integrations settings
Oracle wsa
Oracle wsa.jar tested with latest JDeveloper Oracle Web Services (PDF) Install JDeveloper and specify
release <jdeveloper-root>/webservices/lib
in soapUI Tool Integrations
settings
XMLBeans 2.x
XMLBeans 2.X tested with 2.2.0 scomp Install XmlBeans 2.X and specify
the installation directory in the
soapUI Tool Integrations settings
JAXB 2.x
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
GSoap 2.X
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
.NET 2.0
.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
C
6
? A 5 7 5
,
C A ,
(
5
6
5
6
%
5
, 1
%
5
,
)
%
5
,
(
$
5
,
6
1 5
,
&
'6
")* 9
3
(3
5
,
6
Tool Description
1.15.1 TestCaseRunner
......................................................................................................................................
SoapUITestCaseRunner
5 com.eviware.soapui.tools.SoapUITestCaseRunner
1
7
6
switch description
Launch Dialog
A
%
3$ $58 3
*75" 5/
6
5
7
&
' !
%
6
JUnit Integration
5 runner.run() (
%
5/ 6
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</String_1>
</sam:getContactInfo>
</soapenv:Body>
</soapenv:Envelope>
---------------- 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">
<result>The 'testsd1141581163341' boss is currently out of office, please
call again.</result>
</ns1:getContactInfoResponse>
</soapenv:Body>
</soapenv:Envelope>
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
352"5%5 " (3
5
7
16
<junitreport todir="./testresults">
<fileset dir="./testresults">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="./testresults/html"/>
</junitreport>
!
%
.C 6
<target name="soapui-report">
<junitreport todir="g:\\reports">
<fileset dir="g:\\reports">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="g:\\reports\\html"/>
</junitreport>
</target>
1.15.2 LoadTestRunner
......................................................................................................................................
SoapUILoadTestRunner
5 "
$58 $5
(0
5
$5
$5
switch description
loadtestrunner.bat -ehttp://localhost:8080/services/MyService
c:\projects\my-soapui-project.xml
Launch Dialog
A
% $58
3$ #
3
*7$5
6
5
7
&
' !
$58 %
6
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
1.15.3 MockServiceRunner
......................................................................................................................................
SoapUIMockServiceRunner
5 com.eviware.soapui.tools.SoapUIMockServiceRunner
1
7
,1"
6
switch description
5 1
,1"
(
4
1.15.4 ToolRunner
......................................................................................................................................
SoapUIToolRunner
5 "
58
/ =
%
6
switch description
6
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
Keyboard Shortcuts
1 1
Global Actions
5
6
5
% 4
Desktop Actions
5
1
1
4
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 :
Interface Actions
5
:
Operation Actions
5
)
:
Request Actions
5
89 :
5
1
89 24
TestSuite Actions
5
5" :
TestCase Actions
5
5/ :
5
1
5/ 24
5
1
= 24
D1 )
Tool/IDE Functionality
8 6
?+
C+
:(6 ?+
Download
*
<dependency>
<groupId>eviware</groupId>
<artifactId>maven-soapui-plugin</artifactId>
<version>1.7.6</version>
<type>plugin</type>
</dependency>
maven.repo.remote=http://www.ibiblio.org/maven,http://www.soapui.org/repository
Usage
8
maven soapui:test
maven soapui:loadtest
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/
5
"
5/8
"
5/8 maven.soapui.report.XX
Sample Outputs
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
[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
soapui:loadtest:
[echo] Running soapui project jbossws-soapui-project.xml with endpoint []
[java] SoapUI 1.6 LoadTestRunner
[java] 22:48:13,116 INFO [SoapUILoadTestRunner] setting projectFile to
[jbossws-soapui-project.xml]
[java] 22:48:13,116 INFO [SoapUILoadTestRunner] setting testSuite to [test]
[java] 22:48:13,116 INFO [SoapUILoadTestRunner] setting testCase to [testcase3]
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
Usage
*
C
7
(4
<pluginRepositories>
<pluginRepository>
<id>eviwarePluginRepository</id>
<url>http://www.eviware.com/repository/maven2/</url>
</pluginRepository>
</pluginRepositories>
5
(
<plugins>
<plugin>
<groupId>eviware</groupId>
<artifactId>maven-soapui-plugin</artifactId>
<version>1.7.6</version>
<configuration>
<projectFile>sample-soapui-project.xml</projectFile>
<host>http://127.0.0.1:8181</host>
</configuration>
</plugin>
</plugins>
8
mvn eviware:maven-soapui-plugin:test
mvn eviware:maven-soapui-plugin:loadtest
,1"
mvn eviware:maven-soapui-plugin:mock
5
7 5/ 5"
5" 5/$5 testSuite testCase
loadTest
Integrated Tools
%
7
1 %
mvn eviware:maven-soapui-plugin:tool
C
%
6
<plugins>
<plugin>
<groupId>eviware</groupId>
<artifactId>maven-soapui-plugin</artifactId>
<version>1.7</version>
<configuration>
<projectFile>sample-soapui-project.xml</projectFile>
<testSuite>OleTest</testSuite>
<iface>IOrderService</iface>
<tool>wsi,axis1,axis2</tool>
<settingsFile>C:\workspace\core\soapui-settings.xml</settingsFile>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
soapUI NetBeans-Plugin
5
:D%*
% :D OOM@
! " 7 "
C@
%
7 7 :D
7
3
:
3
7
1 :D
7
E 6
Getting Started
3:(3
7
6
"
!"#$
=
5" ,1"
!"#$
"
(
*7
#
9
)
7 :D
3*73
:
6
5
$
!Y
$
:D 1
6
5 %
%
:D *
! !
Demonstration Movies
1.17.2.1 Installation
......................................................................................................................................
) :D 6
: 33 :D
I 3/ 3
6
5
% 33 6
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
:(6 !1
:D
soapUI eclipse-plugin
5
33
?L
7
5
1
"!5[!5
1
)G & 1
'
Update Site
/
3
3 5
C 4
3
:
3
:
#
3
$
3
:
1
1
1
soapUI Preferences
,
"
!*
4
:(6 :
soapUI Nature
5
:
%
I%
7
1
%
7
5
(
1
3
%3 6
3
! "3
76
! 2
*7 2(
F 1
7
%1% 3
3
7 6
)
!"#$ 33
3
!
"3 6
:
3= %X ( ?+ 3
" 3=3 1 ( &
3* %X
%X
53'
6
5
I & H'
&5 1 (%
7
5
'
! "
:(6 !1
ID !"
Keyboard Shortcuts
1 1
Global Actions
5
6
5
% 4
Desktop Actions
5
1
1
4
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 :
Interface Actions
5
:
Operation Actions
5
)
:
Request Actions
5
89 :
5
1
89 24
TestSuite Actions
5
5" :
TestCase Actions
5
5/ :
5
1
5/ 24
5
1
= 24
D1 )