Hi Parkin,

It seems that "$$('ul.leftnav')[0]" is incorrectly evaluated to 'undefined'.

- Are you using latest version?
- Can you post a minimal test case that shows the error?

>>Where is problem? JS support in HtmlUnit is different for IE and FF ?

That is usually the case , IE has specific methods, and FF has others.

Yours,
Ahmed
________________________________
From: Parkin Roman <[email protected]>
To: [email protected]
Cc: Roman Parkin <[email protected]>
Sent: Friday, January 16, 2009 3:32:33 PM
Subject: [Webtest] Webtest: JS error in IE and no js error in FF

Hi

I try to open page with js (see below after exception)

When I use webtest parameter browser="FF3" (ThrowExceptionOnScriptError="true", 
JavaScriptEnabled="true") - is is ok, no errors

When I use browser="IE6" or "IE7" I got the following error (js code - see 
below)

Where is problem? JS support in HtmlUnit is different for IE and FF ?

======= EXCEPTION START ========
EcmaError: lineNumber=[9] column=[0] lineSource=[<no source>] name=[TypeError] 
sourceName=[https://tt-msc-ed/js/leftmenu.js] message=[TypeError: Cannot call 
method "getElements" of undefined (https://tt-msc-ed/js/leftmenu.js#9)]
com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot call method 
"getElements" of undefined (https://tt-msc-ed/js/leftmenu.js#9)
  at 
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:513)
  at org.mozilla.javascript.Context.call(Context.java:515)
  at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:507)
  at 
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:412)
  at 
com.gargoylesoftware.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:1004)
  at 
com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:358)
  at 
com.gargoylesoftware.htmlunit.html.HtmlScript$1.execute(HtmlScript.java:212)
  at 
com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:238)
  at 
com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:569)
  at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
  at 
com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:523)
  at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:210)

JS code:

/*var img = new Element('img');

img.src = '${pageContext.request.contextPath}/images/arrow_down_green.gif';    
*/

window.addEventMoo('domready', function() {

  var menu = $('menu');
  // var togglers = $ES('li.toggler', 'ul.leftnav');
  var togglers = $$('ul.leftnav')[0]..getElements('li.toggler');

  var togglerButtons = [];
  var subs = [];
  togglers.each(function(toggler, index) {
      //if ($E('ul', toggler)) {
      if( toggler.getElement('ul')){
          subs[index] = toggler.getElement('ul');
          togglerButtons[index] = toggler.getElement('a');
          togglerButtons[index].href = 'javascript:void(0)';
          /* if(!subs[index].hasClass('opened')){
              subs[index].toggleClass('closed');
          } */
          togglerButtons[index].addEventMoo('click', 
toggle.bindWithEvent(togglerButtons[index], index, toggler));
      }
  });
  function toggle(event, i, li) {
      subs.each(function(sub, index){
          if ($(sub)) {
              togglerButtons[index].removeClass('expanded');
              if (!sub.hasClass('closed')) {
                  //alert('h')
                  sub.toggleClass('closed')
                  if (i === index) {
                      sub.addClass('closed');
                      return null;
                  };
              };
              if (i === index) {
                  togglerButtons[index]..addClass('expanded');
                  sub.removeClass('closed');
              }
          }
      });
  };


  
});



_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest



      

Reply via email to