2

Currently I'm checking some client and server software and I wish to expand the testing coverage for it. Specifically I want to increase the quality of the load and stress testing that is performed so that it better reflects user usage.

To this end I've been looking at JMeter, however I've encountered an issue. Unlike a web browser, the client does not have support for using a proxy. This presents the problem that JMeter can't monitor the communication between the two systems to build up the test data.

Possibly JMeter provides for this very scenario, however it's not been obvious in the documentation that there is any facility for this. Although I have some ideas on how to approach this I can't be the first to have encountered this issue, so I'm putting the question out there: how best would you solve this issue?

Paul McCabe
  • 131
  • 6

1 Answers1

1

I discovered two methods that answer my own question; one of which is generic, the other specific to Java applications.

As the client that I was working with is written in Java, it is possible to set proxy details on the command line:

-Dhttp.proxyHost=proxyhostURL
-Dhttp.proxyPort=proxyPortNumber
-Dhttp.proxyUser=someUserName
-Dhttp.proxyPassword=somePassword

The Java VM automatically added proxy information to all network traffic from the client, allowing communications to be sent through JMeter and the session to be recorded and replayed back later. (rather than the client communication terminating at JMeter itself as was the original problem)

The second method was to create a small application that intercepted the client network traffic and inject the proxy information into the requests before it reached JMeter.

Both of the above methods worked.

Paul McCabe
  • 131
  • 6