You are on page 1of 338

......................................................................................................................................

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 ii

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


TABLE OF CONTENTS iii

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


TABLE OF CONTENTS iv

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.1 OVERVIEW 1

1.1 Overview
......................................................................................................................................

soapUI Overview

Prerequisites


        
         

   

  
 
           
!"#$ %     &     
    '    (% 
")* %         !"#$ &
 '  
 
&  % '  
  &  '
+,$    
 % +*  +,$ "      
-         !./           (   !." 
0


The soapUI Interface

       1   


     %  &      (  
  #2 ' ,     1             

         1     3  34          



5        


 6

bottom-left bottom right


• The Properties panel will show information on the item currently A color-coded log view showing log messages from soapUI
selected in the navigator

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 /    5 89   "  
  

 89  '       



   5 "   5 /     : 
 
  
   

Main Menu

,        


      (%   
%   
5 
          6
 
5   <         !1      
   !1 

          
 6
  % "
    *
   % "    
  


  % *    
  
    & (    

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.1 OVERVIEW 5

     '   


             
   
 
% /       7 1     


% *   (  



! %    (     


" # %    


   (   
 

/    1



       5 
  
$ %
  % "     

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.1 OVERVIEW 6

   # 1 



& %   3" !3  
 
    
' $ %
 %     : 
  $
% 
(  (
%        1 
(  ) %     1 
(  "
 %     1  (      
#  %
       *

 
*  + % )       = 
+

!

 % )     =
"   
,
 
 % )             &  '
*
    &   * ' %  $  , 

    $
 &   * ' %  $  , 

*-! % )   6  

).
* % "      

System Properties

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 2

:(6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.1.2 LICENSE MANAGEMENT 3

1.1.2 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 4

5  
         3E " $  #  3        
            3E    $ 3         
 

Command-Line, Plugins and Licenses

:    %    9       5   5#2 
% 
    %            *  

:(6 *

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.1.3 PREFERENCES 5

1.1.3 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 Expands the log tabs when starting soapUI.

Editor Settings

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 15

:(6 +*  "

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.1.4 XPATH SELECTION 16

1.1.4 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 17

:(6 "  $ 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.1.5 WSDL COVERAGE 18

1.1.5 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   
        
 

  
& (  ' 5 8            
           
    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 21

Coverage Options

5 /
 )   
            
  6
/  2  F   %            
 
/  K F   %        
K    
 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 23

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

*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 25

$ 
 6           1       
1     : 

 & %'6    1   

:(6 *7

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.3 PROJECTS 26

1.3 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$          

) & $   % *     !"#$           

 
 % )    
  
  % 5 8 
  
 % )    
  
  % $ 5 8 
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 30

:(6 *7 )

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.3.1 PROJECT VIEW 31

1.3.1 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 33

:(6 *7 /




©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.3.2 COVERAGE 34

1.3.2 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 35

1.3.3 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 37

% $1        89   *7  


  
$ 
$
     5 / 

:(6 !"%" 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.3.4 WS-SECURITY 38

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  

!"" % 
       



  

!"%"  1 4     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!"" 2 3    
 
!""%      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  
     !"%"  "           5 89    
  
   !"%"            

:(6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.4 INTERFACES 42

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 /  
" # % #   
   (   

©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       

5 89       5 /  


 
 "
 % "             
9  
7 
! % G ( 
    9        &   
                   '
(
 8 % % "  
9           9     
   
       1 9      5 89   "  

 
  9  
*
 
3
%  5 89      
7        
  
 
" 3

% )           
   
89   5 89          
  %   &      
 %  
'
    
     
  
    
& (     
   '       

©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 47

1.4.1 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 48

1.4.2 Service Endpoints


......................................................................................................................................

Service Endpoints
"
 3" 2  3      (     


                   
  
      !"#$      8$          
                       
8$%      3* 2  3     E "
 
 
  
   
9    ! 
    9          
         

"            89   5 89         
            9   

5 ) !      


      9     
  
  6
- all requests - 6  
       9          
 
- all requests with no endpoint - 6  
       9   
               
<endpoint> 6  
       9            
      
 

       

  5 89      3" 5 /  2 3
   5 /  2     

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.4.2 SERVICE ENDPOINTS 49

!  
  
  3)13               
   9    %9     

:(6 !"#$ /

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.4.3 WSDL CONTENT 50

1.4.3 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 51

:(6 !"% /  

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.4.4 WS-I COMPLICANCE 52

1.4.4 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 53

5         ( 


     E5,$    3/
3   
      
 
     1  !"%    (  6

Displaying Tool Output

"
 3" $
3     !" "
5      

    
 %         


   4

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.4.4 WS-I COMPLICANCE 54

:(6 !"#$ 8 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.4.5 WSDL REFACTORING 55

1.4.5 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 59

1.5 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 60

  )

 
& %'6 "
            ,
 
"4&, & %'6 "     %     & 9   '

:(6 !1
 89  

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.6 WORKING WITH REQUESTS 61

1.6 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   
( 
5 89   &  '
( 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   
     % 5 89                   
         

©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%    5 89      5
    
  6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.6 WORKING WITH REQUESTS 72

5   6


 %      

3
%  5 89     
 
(
 8 % %      1 5 89     ( 
9   
" 3
%       5 89          

! 
1  ( 
9      
 
6
(, 6 )   
 5 89  & '
*
 6 ,
        89      
 5 89     

7 
! 6 )   
 5 89    

( 
5 89      
   89  
&*      

  9      
     
  
        '

:(6     A

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.6.1 FORM EDITOR 73

1.6.1 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 75

5 
    
  

Datatype Support

"   * ?LM  A 2    


     +,$%"    
   % 
            

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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    %  3D 3        (  
   
 
          
       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 78

1.6.2 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 79

1.6.3 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 80

,    ( 


 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


1.6.4 MESSAGE INSPECTORS 81

1.6.4 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 84

Doc - XML Schema Documentation Inspector

5 #                 5    
      )  2          "  2   

   * *  * 9  4

:(6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.6.5 ATTACHMENTS/INLINE FILES 85

1.6.5 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: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>

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

<ClaimForm>cid:claimForm</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

<ClaimImage xm:contentType="image/gif">cid:claimImage</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

<ClaimData>file:c:\data\mydata.zip</ClaimData>

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 90

:(6 A   5 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.7 SCRIPTING 91

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

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.7 SCRIPTING 92

5  % &  '      %        *  
3= #  3      (               
"
  &        '        
    
 (  

def test = context.expand( '${#Project#test}' )

!
  *7% 3 3  

       
     
      * %,    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 94

            


4

Wed Jun 27 01:40:16 CEST 2007:INFO:Hello Ole!

:(6 !1 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.7.1 SCRIPT LIBRARY 95

1.7.1 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% 3 3  

       
     
      * %,    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 98

            


4

Wed Jun 27 01:40:16 CEST 2007:INFO:Hello Ole!

:(6 !1 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.8 PROPERTIES 99

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/      
  (                       

!  


                  
*  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(    5 89  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    ( & (    5 8 /('       
 
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 = "<test><value id="123">hello</value></test>"


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

<any defined property> 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

<any defined property in the target TestCase> the properties' value



DataSource Step (soapUI Pro only)

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.8 PROPERTIES 103

<any defined property> the properties' value (read-only)



DataSink Step (soapUI Pro only)

<any defined property> 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 104

1.8.1 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(    5 89  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    ( & (    5 8 /('       
 
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 = "<test><value id="123">hello</value></test>"


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

<any defined property> 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

<any defined property in the target TestCase> the properties' value



DataSource Step (soapUI Pro only)

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.8.1 PROPERTY EXPANSION 108

<any defined property> the properties' value (read-only)



DataSink Step (soapUI Pro only)

<any defined property> 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 109

1.9 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 110

1.9.1 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 112

Now run your test!


)       % 9                5 / 
# %1    %       
        %   
8      

%      38   5 / 3    
   %9       
          
 ( 
8         % 
         

:(6 =
"   $ 5 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.2 TESTSUITES 113

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

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.2 TESTSUITES 114

3
(

%   C   6
?   ( 
89      %   ( 
9   5 89  
C /   2  89   %      9           
5 89  
"
 % "         
  
+
  
% /    $ 5    
  5 / 

TestSuite Actions
5 
       5 "    
%   6
" 

 
 % )   5 "  8    
$ ./. 

 % #  2   5 " 
0 
(  %       5 /    5 " 
( 

 %       5 "   
 5 /  5 "
 
 %     
  
  % 5 8 
 %       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 116

Generating Reports

  *  


        5 "   5   
    (  5 /   
        

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 118

:(6 5 / 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3 TESTCASES 119

1.9.3 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 120

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


1.9.3 TESTCASES 121

TestCase Details Tab


5 3#  3      %   
     5 /   
    
 
0 6        5 / 

Clone TestCase

"
  5 /    5 /       
 
6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 124

5 5 /  $
 
( 
  6  
    6
!  5 /   
     (  5 " 
 
 1
)     
      5 "
E 
 5 /  1

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 127

Clone TestStep

"
  5 "  5 "      
 
6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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
 5 89  

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3 TESTCASES 131

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.1 TEST REQUESTS 132

1.9.3.1 Test Requests


......................................................................................................................................

TestRequests
5 %89   (    9             3  3   
          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
       5 89    1 

TestRequest Actions
5 
        %9     
%   6
" 
 %      5 "  &   '
$ ./. 

 %      5 "  ( 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.1 TEST REQUESTS 133

 

 46 %         %       
 %        
$
 %       
( 

 %        &  '

 * %            &       
/% '

 $ %             &      
 /%#'
( ! "
 %     
       5 89   &  '

"
 %   5 89        : 

( ) 
 1 *  ,2 %       5 89    
5 89   &  '
" # %    
   

TestRequest Details Tab


5 3#  3      %       5 89    
    
      9   &   89   #  5     
 '     %   6

  6          5 89  
"
 6      )     5 89  

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.1 TEST REQUESTS 134

Change Operation

"
  
      5 89      
 
6

5                  7     )     



The TestRequest Editor

# %1
5 89       
   5 /  2 *     9  
             89   2   
( 6
5   %  3  5  3       3  3 
        5 89  
5      5 89       9      

5 / 
  9             
C   4  3  3
    389   $
3   &   '
  
             9   

The Assertions Tab

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.1 TEST REQUESTS 135

5              


   5 89   # %1

           
   
&   '       
                      

  

   (             


     
  4 ;    
   
& '
;  1
;   
 
5 
          
%   6
) ) 
 %          
(! &  ' %       
   

( &  ' %       
 %        
 %       

5      


  3/   3   
  
   5 89   &  '

Clone Assertions

  *   
%  %    
      
  5 89    5  
   6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.1 TEST REQUESTS 136

5    %% 6


) 
 %      
!


 %   5 89     
!

(  %   
 5 / 
!


 %   
 5 " 
!

%   
 *7
"
 %  ( 

   &         (   
(   " A  " /   '       
 (  
  
 5 " & '    

" 
%            
    89   5 89  
       
 %   &        %  
'
"
      
)G   


©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.1 TEST REQUESTS 137

The Request Log Tab


5 89   $
               % 0  
5 89   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 138

:(6  

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.2 PROPERTY TRANSFERS 139

1.9.3.2 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
       
         & (   5 89     '
 ) 6                  A   1     
  
         & (   5 89     '
$  6               +*    :    
    (     5 89        
    
  
   (     9  5 89   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: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>

     


             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 143

5 
 +* 6

declare namespace ns='http://webservices.amazon.com/AWSECommerceService/2006-02-15';


(//ns:Author)[1]

:(6 /  = "

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.3 CONDITIONAL GOTOS 144

1.9.3.3 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 

(
          
              
&    
         
5 89  '

  *   +*  "     


   5  /      

 +*           

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.3 CONDITIONAL GOTOS 145

5 
         
) 6          
(, 6           
$
 6       
 6        
 6                     &
   
         
5 89  '
$  6          (    :    ( 
  
5 89        
 &   '
" # % #   
   (   

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 146

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


1.9.3.4 GROOVY SCRIPTS 147

1.9.3.4 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  5 8   
   5 /            
 ! 5 / 8 
context 6  5 8 /(  
   5 /            
 ! 5 8 /(
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
 
 %    $ 5 8    
 $ 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 149

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


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 153

1.9.3.5 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           5 8 /(         
*  2(  
:(6 #  5 "

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.6 DELAY STEP 155

1.9.3.6 Delay Step


......................................................................................................................................

Delay Steps
#  5  "           5 /     (    5 /  
      
)   
  

       
%1      
 
$,              &   ?@@@ '

:(6 ,18   "

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.7 RUN TESTCASE 156

1.9.3.7 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 158

:(6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.8 MOCK RESPONSE 159

1.9.3.8 Mock Response


......................................................................................................................................

soapUI Pro MockResponse Step


  *   ,18           ")* 89     

     
 5 
9         7      
5 89   "    
   


     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      
    
      5 89       
(%   0    )  2   
  *  5   

                       


(  

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.8 MOCK RESPONSE 162

      ,18    5  


     
(   
,18           
 7    5 89        
       (   ")*%A %         
9   
 

MockResponse Step Execution

!  (   5 /    ,18   "           
,1"     9     
      
    )
9              
     7  1
   ,18     
 ,18      ,1"     
 (      (    5 / 

*  5        ,18   " 7   5 89        
     
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 /(  5 8 /( 
     (    

    5 / 

:(6 #  "  "

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.9 DATASOURCE 164

1.9.3.9 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 #  "      #  "      35 3       

            
 #  "  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 +*  %  +*  (      
 38 3    
/  +*  %  +*  (      #  "        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 %    5 8 /(  
(%    
3 8 3 %    5 8  7
:(6 #  " $ "

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.9.3.10 DATASOURCE LOOP 171

1.9.3.10 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 172

1.9.3.11 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 %    5 8 /(  
(%    
3   3 % ,  
       
3 8 3 %    5 8  7
3
3 % 
 



:(6 $  5 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.10 LOAD TESTING 177

1.10 Load Testing


......................................................................................................................................

Load Testing
   (   % 
   
    
6
A   $ 5 
6          
   5 /  
D   $ 5 
6  0        
     
 

*  $ 5 
6   (       
   
   
 ( 
89  %# $ 5 
6    9        

 %  
    $ 5        5 /  & 
 5 /  3: $ 5 3
 % '      
          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 181

$
 5 /   
 %    
        

   
 

The Statistics Table

5                5 "   
5 /    
5 /   

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 183

1.10.1 Getting Started


......................................................................................................................................

Getting Started with Load Testing


  ?O       $ 5 
   
 6
F   ! "     $   
,   A            3 13   
8     %             
E       A   5 /       3=
" 3  
"    
$ 5      5 /  
 3: $ 5 3     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 187

Now What?

5  
     $ 5  " 
  #
   

:(6 =
"   ,1

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.10.2 LIMIT & STRATEGIES 188

1.10.2 Limit & Strategies


......................................................................................................................................

LoadTest Configuration
5   (   $ 5   
     6
5 $ 5  $   
$ 5     
5 $ 5  " 
   5 /        &     '

LoadTest Limit

5 $ 5  $      


   $ 5  2       
6

6      5 /       $ 5     

, 6      $ 5 4       $ 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 191

1.10.3 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 194

:(6 $ 5   

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.10.4 ASSERTIONS 195

1.10.4 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 199

:(6 $ 5  #
 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.10.5 DIAGRAMS 200

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 


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 202

1.10.6 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'       
 


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      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 1 3      

      &1  


   % 0'6

5         4   


  5*"       
   M                
 9       

      5*"     1  


  3 1 3       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

1.11 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 2

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.11.1 GETTING STARTED 1

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

5    


 
              &  
     
  '4

I    

         


 
 !  ,1"    
 
  %             
    5
,1"   ,1)    
       
    
        ,18            #  1  
,1"  38   ?3        
   

 0
           
6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 7

1.11.2 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 14

  
         6

5  !"#$  &           '     


    

:(6 ,1 )  

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.11.2.1 COVERAGE 15

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

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.11.3 MOCK OPERATIONS 16

1.11.3 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       


7 6
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 20

1.11.4 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       


7 6
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}</detail>

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.11.4 MOCK RESPONSES 24

:(6 
 " 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.12 SOAP MONITORING 25

1.12 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 /  &    ( 


'   
5 89  
 
     9       

/  ,1" 6      ,1" &    ( 


'   

,1)   ,18    


     9       

5       C                
     
  
 

:(6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.12.1 COVERAGE 28

1.12.1 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 29

1.13 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 30

1.13.1 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: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     
(   

©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 32

&                  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


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 34

:(6 5  %# 5 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.13.2 TEMPLATE-DRIVEN TESTING 35

1.13.2 Template-Driven Testing


......................................................................................................................................

Template-Driven Testing
5  %#  
  (   #  %#  
   5 /     
               (    5 (  
  ( 
#  %# 5 
(            (    1  ( 
     5 /              1  

5       (  #  %# (    6


/     =       (           
5 8 /( 
   ( 
      
/  
    
        *  "    5 /   
/ 
       5 /    1         1  


           
E 
H

Read external values

5 
(           3   (3       
5 8 /( 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 )

  
           5 8 /( 
   ( 

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 props = testRunner.testCase.getTestStepByName( "Properties" )


def resultCount = props.getPropertyValue( "ResultCount" )
def count = str.substring( ix+1 )
def 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 39

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.13.3 INTERACTIVE TESTING 40

1.13.3 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:SubscriptionId>
<ns:Request>
<ns:SearchIndex>Books</ns:SearchIndex>
<ns:Author>${Author}</ns:Author>
</ns:Request>
</ns:ItemSearch>

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>?</ns:SubscriptionId>

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.13.3 INTERACTIVE TESTING 43

<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()

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 44

   


 6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 46

1.13.4 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 47

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


1.13.4 SURVEILLANCE TESTING 48

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


1.13.4 SURVEILLANCE TESTING 49

[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

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 53

/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


1.14 TOOL INTEGRATIONS 54

1.14 Tool Integrations


......................................................................................................................................

Tool Integrations
   
        %     1   
 
4
? ( +
  
     %     ( 
!"#$
    7
C & 4  
  !"% D  *       
. )  4  5/*%  
  
    1  
     &I+ *E* ' Q      1  
      %       1 
   (    
   
 
    

Configuration

D    


                   & 
     '     
   3
  5 3      
 6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.14 TOOL INTEGRATIONS 55

& 
    
       
  '

:(6 / =  5

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.14.1 CODE GENERATION 56

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

JBossWS wsconsume

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.

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

Tool Version(s) Documentation Installation / Usage

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

Tool Version(s) Documentation Installation / Usage

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

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

Apache CXF 2.X

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

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

Oracle wsa

Tool Version(s) Documentation Installation / Usage

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

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

JAXB 2.x

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

GSoap 2.X

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

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

1.14.2 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 64

:(6 / %$ 5

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.15 COMMANDLINE TOOLS 65

1.15 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 Allows execution of the above two from within a Maven 1.X/2.X build
environment

:(6 " 5 / 8 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.15.1 TESTCASERUNNER 66

1.15.1 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$  $ 5 8 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 69

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


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

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.15.1 TESTCASERUNNER 71

  (%    /     5 "    % 1


  5 /  
  5 /   A (    
 
6

testrunner.bat -j -ftestresults sample-soapui-project.xml

  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>

!        6

2    6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.15.1 TESTCASERUNNER 72

! 

  % 
  .C     6

<target name="soapui-report">

<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"/>
</exec>

<junitreport todir="g:\\reports">
<fileset dir="g:\\reports">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="g:\\reports\\html"/>
</junitreport>

</target>

:(6 " $ 5 8 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.15.2 LOADTESTRUNNER 73

1.15.2 LoadTestRunner
......................................................................................................................................

SoapUILoadTestRunner
5 " $ 5 8         $ 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

     % $ 5 8      3$  # 
3 
    *7$ 5    6

5                       7   
       &         '  !  
 
$ 5 8         % 
         6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.15.2 LOADTESTRUNNER 75

5          %      


       
     (   

Reporting and Exporting

5 " $ 5 8     


       
(   
 
 
      %      $ 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 76

15:32:00,141 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.0025


15:32:01,153 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.019533332
15:32:02,154 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.036383335
15:32:03,155 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.053066667
..etc..
15:32:57,944 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.9662167
15:32:58,956 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 0.9830833
15:32:59,977 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] progress: 1.0001
15:33:00,979 INFO [SoapUILoadTestRunner] LoadTest [LoadTest1] finished with status
FINISHED
15:33:00,979 INFO [SoapUILoadTestRunner] Exporting log and statistics for LoadTest
[LoadTest1]
15:33:01,039 INFO [SoapUILoadTestRunner] Exported 2 log items to [LoadTest
1-log.txt]
15:33:01,039 INFO [SoapUILoadTestRunner] Exported 0 error results
15:33:01,119 INFO [SoapUILoadTestRunner] Exported 2 statistics to [LoadTest
1-statistics.txt]
15:33:01,119 INFO [SoapUILoadTestRunner] Skipping testcase [Copy of Copy of
testing], filter is [testcase3]
15:33:01,119 INFO [SoapUILoadTestRunner] 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 77

1.15.3 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 INFO [MockEngine] Stopping connector on port 8081


15:20:30,703 INFO [MockEngine] No more connectors.. stopping server
15:20:30,703 INFO [SoapUIMockServiceRunner] MockService stopped, handled 7 requests
15:20:30,703 INFO [SoapUIMockServiceRunner] time taken: 733117ms

:(6 " 58 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.15.4 TOOLRUNNER 79

1.15.4 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 81

1.16 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 85

1.17 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 86

1.17.1 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 87

1.17.1.1 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>
<groupId>eviware</groupId>
<artifactId>maven-soapui-plugin</artifactId>
<version>1.7.6</version>
<type>plugin</type>
</dependency>

     


                  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        

      
               
5 89     (  5 /         maven.soapui.test.XX   
 (  

maven soapui:test
-Dmaven.soapui.test.endpoint=http://somehost.com:8080/services/MyService

D             5 89   (   
     
 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 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]

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.1.1 MAVEN 1.X PLUGIN 90

[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


1.17.1.1 MAVEN 1.X PLUGIN 91

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.1.2 MAVEN 2.X PLUGIN 92

1.17.1.2 Maven 2.X Plugin


......................................................................................................................................

soapUI maven 2.X plugin

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

©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

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

"                 (        !"%


   
 
    ( ?  ( C      
  
       
  !"% 

:(6   C+ 



 

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.2 NETBEANS PLUGIN 94

1.17.2 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 95

 
3:(3          7 
    6
" 
   !"#$   
= 
5 "   ,1"    !"#$
" 
 ( 
  *7        

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.2 NETBEANS PLUGIN 96

# 
              
    9  
    )  7               :D 
3*7 3               : 
   
   
    6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.2 NETBEANS PLUGIN 97

Log and Property Views

5      $
         !Y   $
    
            :D   1 6

5 %         %             
   
 :D  *  !   !  

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 99

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.2.1 INSTALLATION 100

1.17.2.1 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 102

5 
%              3  3  6

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.2.1 INSTALLATION 103

  )G      


               
5     4             
 16

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.2.1 INSTALLATION 104

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.3 INTELLIJ PLUGIN 105

1.17.3 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 106

1.17.4 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 108

:(6   :  

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


1.17.4.1 SOAPUI NATURE 109

1.17.4.1 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 111

"  3= 3     1 ( & 
  3* %X   %X

  5 3'           6

5
          I     &   H'

©2005 EVIWARE.COM • ALL RIGHTS RESERVED


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 113

1.18 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

You might also like