Proxy servers are nothing new to corporate users, and Load Tester has supported test development through a proxy server for those testers that were required to use one. However, we’re excited to introduce two new improvements to Load Tester’s proxy support for Load Tester 4.3: more detailed recordings and replays of proxy traffic, and support for proxy authentication.
In all versions of Load Tester, it is possible to change the proxy configuration, and then play an existing testcase correctly using the new proxy settings. Since proxies may require the use of additional HTTP messages to create a tunnel and / or authenticate with the proxy, Load Tester had to hide these messages “under the covers”, since changes to the proxy setup or even minor timing changes would cause these connection management messages to be triggered at different points throughout the testcase. Load Tester 4.2 introduced the new “Connection Authentication Negotiation” wizard, which allows the user to configure authentication for a testcase, and see authentication management transactions generated automatically by client browsers. Now, Load Tester 4.3 expands on this capability to see and configure proxy traffic normally tucked away as background chatter.
Before we proceed further, a word of caution: Load Tester fully supports test development and, if necessary, load testing through a proxy server. However, the performance data can be influenced by the capacity of the proxy server, and testers should consider whether or not the system’s users are likely to use the same proxy server before running a test through that proxy server.
In order for a browser to secure a connection to a server through a proxy server, the browser must request a tunnel through the proxy server, made by issuing a HTTP CONNECT message. Load Tester creates these messages “under the covers”. Beginning with Load Tester 4.3, we can peek under the covers for more advanced diagnostic information.
Previous versions of Load Tester were limited to only record and play back through proxy servers which did not require authentication. In stricter security environments, authenticated proxies may be required, and Load Tester 4.3 now allows testers to develop and even run tests in these environments.
Load Tester 4.3 allows this sort of behavior to be changed naturally, before or after the testcase is recorded, and Load Tester will automatically adapt as needed to communicate to the server and (if applicable) proxy.
For example, let’s look at the process of making an SSL connection through an authenticating proxy server:
Here, we can see each time we try to CONNECT through an authenticating proxy server (in this case, a NTLM server), the proxy server causes the browser to authenticate the CONNECT before a tunnel can be created.
Load Tester 4.3 even allows us to correctly record and replay more complex combinations, such as NTLM authentication to a server through a NTLM authenticating proxy (using different credentials).
Or even NTLM through an SSL tunnel via an authenticating proxy:
Here we can see that tunnel is attempted through the proxy, which triggers authentication negotiation. Once the tunnel is established, authentication negotiation is again triggered by the server at the end of the tunnel, and finally the requested URL is returned on the 6th HTTP message.
We hope that these improvements will make Load Tester 4.3 a much more versatile tool, and easier to use at the same time. Of course, if you still have questions, our friendly support staff will be more than happy to answer them!
Happy Testing!
-Frank
Engineer at Web Performance