This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

[Truclient] How to parameterize an Object Name/Path?



I am using LR 11.52. I am having some trouble trying to parameterize an Object request. I want to select a gridcell object based on the content it contains. i.e. I have a grid filled with names, I want to randomly select a corresponding name from a parameter list I created, and have Truclient click on it. My problem is, I can't get the request to work.


Right now, I'm simply storing a value from my parameter list in a variable using Evaluate JS:


 Then, when I get to the step where I click on my gridcell, I use JavaScript to replace the text in the Object section, like so:

evalXPath("//td[text()=\"" window.myGlobalRep "\"]");

 When I do this however, I get an error stating "target object was not found." I have checked to make sure that my parameter list is working correctly, window.myGlobalVar definitely is assigned a value. I'm guessing my request syntax is incorrect, but I have checked a few times already, and I don't see an issue.

Parents Reply Children
  • Verified Answer



    The issue with your function could be that it contains a character, written using keyboard language different from English. I made some checks in Notepad using different encoding and with one got:


    evalXPath("//td[text()=\"" ArgsContext.LR.getParam​("myParam") "\"]");


    For example the following code


    var myGlobalVar=LR.getParam(“myParam")


    will also produce


    Evaluate JavaScript code var myGlobalVar=LR.getPa...t(myGlobalVar); ** failed - exception occurred: SyntaxError: illegal character


    because in (myParam")   is not written using English keyboard.


    Kind regards,

  • Hi Vesela,

    I am trying parameterize a checkbox value in object section by changing the ID method to JavaScript option.

    Below is the original JavaScript:

    evalXPath("//input[@type=\"checkbox\" and @value=\"199999\"]");

    Below is the parameterized JS option:

    evalXPath("//input[@type=\"checkbox\" and @value=\'" ArgsContext.LR.getParam("p_SellerID") "\']");

    where p_SellerID =199999

    My question here:

    1) Is it the correct way to parameterize? I am facing an issue which says "Target Object not found. Exception occured in JavaScript code"

    Please note here that once the parameter was created the script was ran from the beginning as required. Also the similar method is being used to parameterize a different object with the same code and it works fine there. So confusing as to why it fails in this step.

    2) There are 10 unique seller id's in the parameter p_SellerID and the selection of next row value is set to sequential and each occurence. Since we are selecting 10 unique seller id check boxes I am using the above mentioned value selection but in real time interactive window it doesn't selects the checkboxes in sequential manner and rather it selects in random manner. Can you provide an insight as to why its happening like this?



    Bibhu Panda.


  • Hi Bibhu,

    Can you try this statement instead 

    evalXPath("//input[@type=\"checkbox\" and @value='\'" ArgsContext.LR.getParam("p_SellerID") "\']");

    Or alternatively try Descriptors object identification. It will help avoiding the syntax issues



  • HI Shlomi

    I tried to apply this to my problem. I am testing an Angular application. I search for a customer based on zipcode and housenumber. The application wil give all possible customers in that area, and I want to click on the Business Partner number (our internal identifier).

    So the xpath is


    where 12345678 is the customer number. 

    I do a 'Click on' action, and in the Object I select ID method - Javascript, and in the Javascript box 

    evalXPath("//span[text()=\"   " ArgsContext.LR.getParam("var_ZP") "     \"]");

    Where var_ZP is the variable for the customer number.(variabe has been created in the main script and has tesdata).

    But when I play it, it just gives an error that the object did not appear! I can't see my error here, please advise? I did try constuctions like 

    evalXPath(“//a[text()=\”” window.mydoc “\”]”);

    where windows.mydoc contains the customer numer, that also did not work.