Recording Traffic

User rating:
3.3 (8 ratings)

Action!

Lets get going! Start by creating a new project for the CurrencyConverter service (http://www.webservicex.net/CurrencyConvertor.asmx?WSDL):

New SoapUI Project

Once created, start the HTTP Monitor from the Project popup with the following configuration:

HTTP Monitor GlobalProxy

The Set as Proxy option will configure SoapUI itself to use the Monitor as a Proxy. It will add a manual configuration to the Proxy settings in SoapUI Pro that we can verify in File menu -> Preferences -> Proxy Settings. This will allow us to capture traffic going from SoapUI Pro to the target service and back.

Once running, open a request to the service in SoapUI and send it off, you will get a response as usual but with the addition of the entire exchange being logged in the monitor.

Running Monitor

As you can see I've fired off a bunch of requests, the table shows response times, message sizes, etc.. Selecting a message shows its content at the bottom.

This is pretty basic, but you get the idea. All requests are routed through SoapUI and captured for analysis. You can do now a bunch of cool stuff!

Generate Functional Tests and MockServices


Say you have captured a long-going conversation between an existing client and server and you want to be able to replay either the client or server part of it. Piece of cake! Select the captured messages in the log table and select the Add to TestCase button, which will prompt as follows:

Add to Test Case

Selecting OK will generate a TestCase containing the same Requests sent by the client which can now be replayed/reconfigured as desired.

Test Case

Back to the monitor, now select the Add To MockService button.

Add to MockService

Not surprisingly, pressing OK will generate a MockService containing all the received response messages, allowing you to mock the entire conversation.

Mock Service

Specify endpoint for MockService and apply that endpoint to all your requests. Now starting the MockService and running the TestCase will basically rerun the entire conversation inside SoapUI (If you still have the HTTP Monitor going you'll see it running through there as well).

Running Monitor with Mock

The top shows the TestCase with its four captured requests, the bottom shows the SOAP requests to the MockService and their responses as they are passed throuh the HTTP Monitor (the first four entries are the ones I initially captured). You can see that the request/response messages are the same size, performance is slightly better for the MockService.