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