Overview

The product will run next to your RIA browser-based client and register itself as a proxy server. Internet Explorer and Google Chrome should automatically recognize the proxy and will route all the client requests through AppPuncher.  Firefox users must install AppPuncher Firefox extension.

When you start AppPuncher, you can choose the type of test you would like to run (it is limited to the 'Debugging Session' for now, but soon you will be able to use the product to run all supported types of tests). The start screen looks as shown below:

AppPuncher also starts one debugging session by default:

Structured or Sequential View Types

Once the browser makes any request, AppPuncher will visualize it in two formats: 

  • Structure View - displays all requests in a tree hierarchy ordered by the site they are sent to. 
  • Sequence View- all requests are shown in the same order they are sent.

Structure view:

Sequence View:

AMF Request/Response Visualization

The example above shows requests for static files - images, JavaScript and flash content. Additionally, AppPuncher will detect remoting requests and display information related to the method invocations as shown below:

Once you select a node in either Structure or Sequence View, the contents of the request and response will show up in the panels on the right.  If you select a remoting method as shown above (the selected method is getCustomers from an invocation of the Weborb.Examples.DataBinding class), the Request and Response panels will display the following:

Request/Response Multiple View Type Support

Notice both request and response can be displayed in different views. A view can be selected using the View drop-down list:

Visualization Optimizations

Views can be selected independently for requests and responses, but it is also possible to automatically select the same view type by clicking the "Correlate Response and Request Views" checkbox located above the Request panel. When the check box is selected and you change the view for Request, the Response panel will automatically select the same view type:

AMF Requests and Responses displayed in AppPuncher can be compressed to show just the data from the request body (method arguments) as well as response body (return value) by selecting the "Body Only" checkbox located under Request and Response panels:

Debugging Remoting Requests

Once an invocation is captured by AppPuncher, it can be repeated with altered argument values. Double click an argument value in the Request panel (make sure you use the AMF view) and click the Invoke button to make a new invocation with modified arguments list. The new invocation will show up in the AppPuncher list and can be inspected using the same Request and Response panels.

Request/Response Search and Filtering

In any debuging session it may be important to find a specific request. AppPuncher has a powerful search and filtering mechanism. Search is dynamic and will locate all matching requests as you type a search query.

Filtering allows display of requests and responses of specific content-types. In addition to well-known content types, AppPuncher automatically adds any new ones to the list of filters.