I found some interesting tricks using LoadRunner’s TruClient Mobile protocol last month. The first part of this task involved recording the session, then working with and enhancing the recorded script to make it work according to the script’s requirements. This is where the challenge with TruClient mobile began to appear in earnest.
The script, after modification and parameterized accordingly, worked as designed in the TruClient develop mode. That is, the script ran in the TruClient graphical front-end. However, when attempting to run the script in “Load” mode or within the controller, it repeatedly failed with the following message:
t=00038646ms: Error -203256: ** 8: Wait for 00H 00M link ** failed – target object was not found. [MsgId: MERR-203256]
Vuser Terminated.
In trying to resolve this issue, the object identification methods were repeatedly changed through Automatic, XPath, and the Javascript settings, as directed, to no avail. Additionally, the target object causing the error was replaced several times with either an adjacent object or the same object, as they were part of multiple HTML containers (the XPath string was “//section[@id=”wkDetails”]/div[2]/section/ul/li[3]/div/div/a/div/div[3]”, where each div represents a different containing object).
Ultimately, I discovered that by disabling (or deleting) the existing TruClient step, inserting a new “Generic object action” step, replacing the object with correct (or identical) object, and playing back the newly created/modified step in place, the script would work in all three modes (Develop, Load, and in the Controller). Please note that the initial single step playback is critical to the success of these changes, as that initial playback sets the TruClient step’s End Event. By default, it is empty when first put in place. This playback step sets the specific end event.
Detailed example steps are below.
Step 1 execute the script up to the point just before the script stops on error.
Once you have played back this single step, save your script and run it from the beginning. It should successfully get beyond the previous stopping point. If it does and it stops in a similar fashion farther down, you should repeat these steps for the step that caused the stop and each subsequent step that causes a stop.
I hope this helps you out.
Stuart Grifenhagen, Consultant of Managed Performance Testing at Orasi Software