Ask a Question

Variable table findrow method

Frequent Contributor

Variable table findrow method

Please i need help with create variable table method findrow.. i found in TC community code:


def search_in_table(name):
table = Project.Variables.yourTableVar
table.Reset() counter = 1 #consider that first row contains column names while not table.isEOF(): counter += 1 if table.Value["Name"] == name: Log.Message(counter) table.Next()

I need to rewrite it in a jscript or javascript. I tried it but it made mistakes.. 😞


My rewrite code with bugs..


function search_in_table(name){
var table = KeywordTests.Cenotvorba.Variables.DOKL_SLEVA_1;


table.reset(); // error
var counter = 1;

while (!table.isEOF()) { // error
counter += 1
if (table.Value["Name"] == name) //error




Could you link where exactly you got that snippet from so I could read it before commenting on it. Also, if you could share what error you're getting at those particular lines. Seems like your table variable has an issue. 



Okay so I dont know what table.reset does I've never really used it. What I would do in your case is ( If you have your column number fixed which is not a great idea btw)


function FindDavid(){
table = Project.Variables.yourTableVar

for(var i=0; i<table.RowCount; i++){

var cell = table.cell(i,0) //whatever your column number is

if(cell.contentText == "David"){
return i;



Try this and let me know.

As using the word Table instead of Array i suspect is about DB table (so the reset and the isEOF).

Do you want to search in DB table or in array ?


On array, you have native Javascript functions that does all the job:


function TestFind() {
  const jungle = [ 
                   { name: "frog", threat: 0 },
                   { name: "monkey", threat: 5 },
                   { name: "gorilla", threat: 8 },
                   { name: "lion", threat: 10 }

  // break the object down in order to use .includes() or .indexOf()
  const names = =>; // returns ['frog', 'monkey', 'gorilla', 'lion']
  Log.Message(names.includes("gorilla")); // returns true
  Log.Message(names.indexOf("lion")); // returns 3 - which corresponds correctly assuming no sorting was done
  // methods we can do on the array of objects
  Log.Message(jungle.find(el => el.threat == 5)); // returns object - {name: "monkey", threat: 5}
  Log.Message(jungle.filter(el => el.threat > 5)); // returns array - [{name: "gorilla", threat: 8}, {name: 'lion', threat: 10}]


It comes from this very good article here:




Un sourire et Γ§a repart

SmartBear Alumni (Retired)

Awesome job Benoit, Reshail! Thank you for the efforts!


@David91 Please mark the best answer as a solution or let us know if you need more help with this πŸ™‚

Sonya Mihaljova
Community and Education Specialist

Showing results forΒ 
Search instead forΒ 
Did you mean:Β