Sahi scripting for testing web pages

Hi there,

I'm writing a short script  in Sahi (very similar to javaScript) to check that a series of links from a web page appear in the right order.
I have created an array storing the links' names in the order they appear. I'd like to create a second array with Sahi that searches the page gathering links names into another array.
Then I compare these two arrays. Code as follows:

var $Array1 = new Array("3 Face Blend on Mixed Walls", "Assimilation Blend Support", "Detect Loss of Blend Overflow");
function getLinks(){
      var $retVal = new Array();
      var $links = document.links;  
      for (var $i=0; $i<$links.length; $i++){
            $retVal[$i] = $links[$i].innerHTML;  //getText or some other function?
      }                                            //links.getElementById("").innerHTML;
      return $retVal;
}

//importPackage(java.util.Arrays)
var $check = java.util.Arrays.equals($Array1, $retVal); GET ERROR MSG FROM THIS LINE
if($check == false)
      Packages.java.lang.System.out.println("Projects' names don't come in the right order.");
else
      Packages.java.lang.System.out.println("Projects' names come in the right order.");

Whenever I try to run it I get the message "ReferenceError: "$retVal" is not defined" from the line indicated above. It seems that the for loop is not populating the $retVal array. Any ideas?
Thank you,

Ana
ana-redondo-lopezAsked:
Who is Participating?
 
gremwellConnect With a Mentor Commented:
$retVal is defined only within the scope of getLinks() function. Also, it appears you not do invoke this function anywhere in your code. You may want to replace the indicated line with something like:

var $Array2 = getLinks();
var $check = java.util.Arrays.equals($Array1, $Array2);
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.