WebObjects/Testing/Load Testing WO Apps with JMeter

It is possible to use the JavaPlaybackManager to load test your WO apps, but you will likely be frustrated by bugs and lack of features. A much more robust and feature-full utility is Apache Jakarta's JMeter

WebObjects, being less well-known, is not fully supported out-of-the-box, so we will need a bit of help with:

  • URL-stored session IDs
  • instance IDs

Happily, these two critical pieces of information can be retrieved in a single step by adding a Regular Expression Extractor to the first HTTP Request node that hits your application. Use a regular expression like this:

 /cgi-bin/WebObjects/MyApp.woa/([-0-9]+)/wo/([^/]+)

And a template like this:

 $1$$2$

Set Match No. to 1 and Default Value to "" (blank). Then, set the Reference Name to whatever name you want to use, for example, "sessionid". The instance number will then be available to future test steps as ${sessionid_g1} and the session ID as ${sessionid_g2}. Your second HTTP Request, for example, might have a URL of:

 /cgi-bin/WebObjects/MyApp.woa/${sessionid_g1}/wo/${sessionid_g2}/0.0.13.3