Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Sahi scripting for testing web pages

Posted on 2010-08-24
1
Medium Priority
?
1,165 Views
Last Modified: 2012-05-10
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
0
Comment
Question by:ana-redondo-lopez
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 3

Accepted Solution

by:
gremwell earned 2000 total points
ID: 33509391
$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

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this post we will learn different types of Android Layout and some basics of an Android App.
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
Suggested Courses

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question