Highlighted
Absent Member.
Absent Member.
809 views

Loadrunner Trueclient web - Error

I am using Truelient web for my script and everything is woring fine while I run my script in Development mode. But when I run it in replay mode I am getting error on io.write function - 

 Script doesnot stop and its kind of hangs in there, nothing is happening.The same steps execute fine in the development mode.

Details : 

LR Version : 12.53 Build 1203

Browser : Chromium

Below is full error - 

Error -205177: TypeError: Cannot read property 'write' of undefined
TypeError: Cannot read property 'write' of undefined
at Element.TC_NS.Registry.addRule._toMarkup (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/l10n/StepsMarkups.js:164:85)
at Element.TC_NS.Step.TC_NS.Property.initObj.toMarkup (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/model/Step.js:1075:20)
at Element.TC_NS.Step.TC_NS.Property.initObj.toString (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/model/Step.js:1069:47)
at Element.runStep (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/model/StepExts.js:98:15)
at Element.handler (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/infra/Query.js:51:20)
at Object.window.TC_NS.RuleEngine.dispatch (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/infra/RuleEngine.js:107:41)
at Object.TC_NS.Event.dispatch (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/infra/Event.js:41:26)
at Object._onTrackEnd (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/model/Step.js:583:71)
at Object.EventTracker.untrackMe (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/infra/Event.js:86:9)
at Element.<anonymous> (chrome-extension://opmdjnhpgoamlkjpphnnhohdcgnimbbj/RRE/content/infra/Event.js:69:8)
While calling handlers in TC_NS.RuleEngine dispatch, event=** 25: If Status's Visible Text Contain Wave Process Completed ** successfully completed with end event 'Action completed', handler=
addOnetimeEventListener: type=step/end, function=function runStep(e) {
function handleCatchStep(evt) {
if (evt.continueOnError)
return;
if (evt.errorStep) {
step = $this._nextStep = evt.errorStep;
calcNextStep();
step.query.addOnetimeEventListener("step/end", runStep);
catchStepToBeHandled = true;
return step.start($this);
}

if (e.target.level === TC_NS.Step.LEVEL_INTERNAL) {
return $this.end(e.retCode, {extRetInfo : e.extRetInfo} );
}
return $this.end(TC_NS.Step.RETCODE_ABORTED_FAILED, { originalErrorEvent : origErrEvent ,
extRetInfo : e.retCode == TC_NS.Step.RETCODE_ABORTED_FAILED ?
e.extRetInfo : TC_NS.Step.EXT_RET_INFO_ERROR_IN_ANOTHER_STEP } );
}

if (e) {
var actionOnError = TC_NS.RTS("RTS.TruClient.ActionOnError");
if (actionOnError == 2 && e.retCode == TC_NS.Step.RETCODE_SUCCEEDED) {
if( e.target.type == "block" && e.target.getAttribute("catch") ) {
e.target.parentNode.childErrEvent.pop();
}
}
else if (e.retCode > TC_NS.Step.RETCODE_SUCCEEDED) {
var origErrEvent = e;
var catchStepToBeHandled = false;
while (origErrEvent.originalErrorEvent)
origErrEvent = origErrEvent.originalErrorEvent;
TC_NS.Query.addOnetimeEventListener("step/catch-step", handleCatchStep);
if (actionOnError == 2) {
e.target.parentNode.childErrEvent.push( e.toString());
}
TC_NS.Event.dispatch("transaction/markOpenTransAsFailed", {}, { step: e.target });
var res = e.target.getCatchStep(origErrEvent.extRetInfo);
if (catchStepToBeHandled == true || actionOnError != 2) //ActionOnError is NOT continue on error
return;
}
else if (e.retCode == TC_NS.Step.RETCODE_ABORTED_SUCCEEDED) {
var event_params = { extRetInfo : e.extRetInfo };
Object.extendWithoutOverwrite(event_params, e.propsObj);
if ( (isRunLogicTopChild($this) || isRunLogicInternalBlock($this)) &&
event_params.exitTarget && event_params.exitTarget == 'Action' &&
event_params.exitStatus == 'Pass') {
// report ?
}
else {
return $this.end(TC_NS.Step.RETCODE_ABORTED_SUCCEEDED, event_params);
}
}

if ($this._nextStep == "INVALID") {

$this._nextStep = e.target;
calcNextStep(true);
}

var duration = TC_NS.RTS("step/duration", e.target.realStep);
var childStep = e.target.realStep.lastElementChild;
if (childStep && !duration) {
interStepTime = childStep.intervalStepTime;
childStep.intervalStepTime = 0;
}
if (duration) {
duration = $this.randMinTime(duration);
interStepTime = duration * 1000 - ((new Date()).getTime()-e.target.startTime); // (duration-executionTime)
e.target.realStep.intervalStepTime = interStepTime;
}
}

var step = $this._nextStep, interStepTime = interStepTime || 0;

if (!step) {
if (TC_NS.Script.state == TC_NS.Step.STATE_RUNNING_FROM)
$this.end(TC_NS.Step.RETCODE_SUCCEEDED);
else if( e && e.target.parentNode.childErrEvent.length>0 )
$this.notifyProgress(TC_NS.Step.PROGRESS_ACTION_COMPLETED, { retCode: TC_NS.Step.RETCODE_FAILED, extRetInfo: e.target.parentNode.childErrEvent[0] });
else
$this.notifyProgress(TC_NS.Step.PROGRESS_ACTION_COMPLETED);
}
else {
TC_NS.Event.dispatch("step/calc/next", step);
calcNextStep();

if (step.type == 'block' && step.getAttribute("catch")) {
if (e) return runStep(e);
step.query.addOnetimeEventListener("step/end", runStep);
step.end(TC_NS.Step.RETCODE_FAILED, { extRetInfo : "Step Misplaced" }, true);
}
else if (TC_NS.Script.state == TC_NS.Step.STATE_RUNNING_FROM) {
step.query.addOnetimeEventListener("step/end", runStep);
step.start($this, false, true);
}
else {
var pacing = TC_NS.RTS("step/pacing", step.realStep);
var pendingCause;
if (pacing === undefined) {
pacing = interStepTime;
pendingCause = "minTime";
} else {
if (interStepTime > pacing) {
pacing = interStepTime;
pendingCause = "minTime";
} else {
pendingCause = "pacing";
}
}
$this.query.addEventListener("step/abort", onAbort);
startTimer = setTimeout(function() {
$this.query.removeEventListener("step/abort", onAbort);
step.query.addOnetimeEventListener("step/end", runStep);
TC_NS.Event.dispatch("step/end/pending", step, { time: new Date().getTime() });
step.start($this, false, step.level != TC_NS.Step.LEVEL_INTERNAL); }, pacing);
TC_NS.Event.dispatch("step/start/pending", step, { ETA: pacing, cause: pendingCause,
time: new Date().getTime() });
}
}
} Snapshot Info [MSH 1 0] [MsgId: MERR-205177]

0 Likes
4 Replies
Highlighted
Acclaimed Contributor.
Acclaimed Contributor.

Re: Loadrunner Trueclient web - Error

Please open a support ticket.

Thanks,

Shlomi

0 Likes
Highlighted
Absent Member.
Absent Member.

Re: Loadrunner Trueclient web - Error

I am using a trial version, so HP is saying they cannot help here. Look in the community

0 Likes
Highlighted
Acclaimed Contributor.
Acclaimed Contributor.

Re: Loadrunner Trueclient web - Error

Please delete the failing step, save the script. Run the script it until that point to make sure the script is running fine.

Then add the deleted functionality again and check if it helps

Regards,

Shlomi

0 Likes
Highlighted
Absent Member.
Absent Member.

Re: Loadrunner Trueclient web - Error

Tried that, still no success.

 

Found a different approach. Instead of using buitin True client IO.Write function. I have used the function inside Eval javascript. Its wroking now.

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.