Recording video applications using Ajax Truclient protocol

Version: HP Vugen 11.52
Protocol: Ajax Truclient IE

I had a recent task where the project team wanted to know how long it takes for several concurrent users to play a certain video. The goal really is to see how much buffering is happening as the users are increased, and if the server can handle it. The video is housed on Kaltura platform and by their specs, there's not one specific URL source for the video. The video file is chopped into chunks and delivered to several locations where the engine decides where best to host the files. This means we can't use the MediaPlayer protocol as it requires a single source URL.

Would be pretty cool to explore this protocol. But turns out we don't have a license for it so nevermind haha.

Trying out with Web/Http

At first we tried recording the application via good ol' Web/Http protocol. But there's no data that would compute for buffering time, so we moved on. The numbers we're getting from this method are response times from fetching the video resource and that barely says anything about the buffering time, so nope, wouldn't work. As much as possible we try to work on Web/Http first before trying Truclient because it eats up a lot of resources. That means we can't put too much users per load generator. Right now we only have 4 operational load gens, so the amount of users we can run on this test would be compromised by the protocol. However, Ajax Truclient is really the protocol we need, as advised by Protocol Advisor too (which is lost in Vugen 12!)

Moving on with Ajax Truclient IE

So Ajax it is! The steps are really simple, we load the URL then click on the play button then measure the transaction time from there.

As the video plays, the script waits for something that indicates the video has finished playing. In this case, the replay button. We end the transaction at that point.

Note that you have to adjust the timeout settings for waiting the replay button. Use the video duration and add an allowance for waiting. In this example, the video duration is almost 2 minutes or 119 seconds. To be safe, I'm putting a timeout of 300 seconds to allow the video to finish. You don't want your wait step to timeout while the video is still playing. Adjust this number according to how you see fit.

That's pretty much it! The response times we're getting for the Play transaction is definitely within the video duration range plus some considerable delay, probably due to network issues and whatnot, so yep - we're done here!


This is my first time to record a video application and believe me, it didn't come out this easy. The strategy was there but for some reason the network wouldn't cooperate with me! I worked on this application for weeks and weeks because the video just wouldn't load on my end. One time I'm getting a certificate error, the other time it's a 404, I have no idea what's keeping me from the playing the video. But anyhow, we changed seats and suddenly, the video started playing! So maybe it's just a damned network thing lol.



Welcome to Surf and Perf! I made this blog to document some of the issues I encountered doing Performance Testing. I really just wanted a more organized way to look back at my notes haha. I'm no Performance Testing guru so the solutions you'll see here are more trial and error on my part. But hopefully it helps you out somehow! :)

So there. Stay tuned. I'm still trying to figure out the layout of this blog hehe, and I still need to install a proper code snippet formatter cos don't we all love copy-pasting mono-spaced code blocks?