I have been using Loadrunner (now at 11.52 in my installation) for several years. I agree with James Pulley's comments about using the Web HTTP protocol for most business applications. While there may be some business applications for which the Truclient protocol is an EASIER protocol to work with, the key question is NOT whether a given protocol is easier to use, but does it result in a better performance test of the targeted business application.
Based upon my experience with the Truclient, HP really needs to improve the documentation associated with this protocol in their product. While you are in Truclient for Loadrunner development window, the lack of CONTEXT-LEVEL help leaves a lot to be desired especially for an ENTERPRISE class software package that Loadrunner is supposed to be. For example, just open up the details of the ANY of the steps that have been recorded in a Truclient script. If you expand the Step details, you will see several options that have drop-down list boxes associated with them. Two of these options are the Action and the End Event options. However, the Loadrunner Vugen Truclient software provides NO CONTEXT LEVEL HELP for any of the values associated with these options. While the performance engineer may be very familiar with the protocol used by the application, does he/she have to GUESS at what the Loadrunner software does with this wide selection of values or how different combinations of these values interact with each other?
What HP should have done by now, since Truclient has been around for a while, is provide a book which describes the usage of this protocol with actual case studies from some web applications that are excellent candidates for this protocol. This book should go into the details of handling the common frustrating problems on errors like, "target object not found", parameterization, when to use custom javascript, why the script works perfectly in Vugen DEVELOPER mode, but always fails in Vugen LOAD mode or in Controller mode and the problems incurred when dealing with asynchronous applications. This is commonly done for other applications in FREE publications like the IBM REDBOOK series.
Consider this problem that I commonly run into when using Truclient. You have an Ajax application that has a drop-down list box with several values associated with it. If you record the selections of a value from that drop-down list box, the Loadrunner Truclient software will record ONE event. Within that event the Step section specifies the "Select" value under the Action option. Replaying this script works perfectly in DEVELOPER mode. However, the script always fails with "target object not found" in Vugen LOAD mode or in Controller mode. If you change the script so that 2 EVENTS are used in place of the ONE EVENT that was recorded, the problem no longer occurs In this case, the following 2 events solved this problem:
1) Click on <object> listbox (Note that Click is the value of the Action option under the Step section of this event.)
2) Select <value from drop-down listbox> from <object> listbox. (Note that Select is the value of the Action option under the Step section of this event. Also, this was the ORIGINAL event that was recorded by the Loadrunner Truclient software.)
I am also currently having a problem with a CHECK BOX object on another page of this same application. I tried a suggested solution of creating a Generic Object Action event in place of the RECORDED CHECK BOX event but I am still getting the "target object not found error in Vugen Load mode or in Controller mode.
For a product as expensive as Loadrunner is, this better documentation would go a long way in removing many of the problems performance engineers are having with this protocol.