1) The comboboxes do work in IE6, sort-of. You have to click in exactly the right place to start typing, but you can do it.
2) These boxes are very tricky in their behavior, because there are actually *three* <input>s for every form field. Two of these are defined in the HTML source, but they're immediately hidden by Dojo onload; Dojo then creates a new input field (with no id!) that is the actual input box you type in. The only consistent cross-browser way I've found to refer to this box is document.forms[0].elements[2], which is inherently fragile, but it'll have to do!
3) Updating the element locator fixes the test Firefox right off the bat, but the test remains busted in IE6. The new problem is that the Dojo code is attempting to pull a clever IE-only trick to discover the location of the text cursor, but we don't have a text cursor, because we've just set the value of the field and simulated a key event.
We'll probably need to fix SEL-237 to fix this. In the meantime, adding this to ApacheMyFacesSuggestTest seemed to make it pass in IE6:
selenium.getEval("var element = this.page().findElement('document.forms[0].elements[2]'); var range = element.createTextRange(); range.collapse(true); range.moveEnd('character',8); range.moveStart('character',8); range.select(); true;");
Dan Fabulich - 22/May/06 01:08 AM Did some more research on this today.
1) The comboboxes do work in IE6, sort-of. You have to click in exactly the right place to start typing, but you can do it.
2) These boxes are very tricky in their behavior, because there are actually *three* <input>s for every form field. Two of these are defined in the HTML source, but they're immediately hidden by Dojo onload; Dojo then creates a new input field (with no id!) that is the actual input box you type in. The only consistent cross-browser way I've found to refer to this box is document.forms[0].elements[2], which is inherently fragile, but it'll have to do!
3) Updating the element locator fixes the test Firefox right off the bat, but the test remains busted in IE6. The new problem is that the Dojo code is attempting to pull a clever IE-only trick to discover the location of the text cursor, but we don't have a text cursor, because we've just set the value of the field and simulated a key event.
We'll probably need to fix SEL-237 to fix this. In the meantime, adding this to ApacheMyFacesSuggestTest seemed to make it pass in IE6:
selenium.getEval("var element = this.page().findElement('document.forms[0].elements[2]'); var range = element.createTextRange(); range.collapse(true); range.moveEnd('character',8); range.moveStart('character',8); range.select(); true;");
1) The comboboxes do work in IE6, sort-of. You have to click in exactly the right place to start typing, but you can do it.
2) These boxes are very tricky in their behavior, because there are actually *three* <input>s for every form field. Two of these are defined in the HTML source, but they're immediately hidden by Dojo onload; Dojo then creates a new input field (with no id!) that is the actual input box you type in. The only consistent cross-browser way I've found to refer to this box is document.forms[0].elements[2], which is inherently fragile, but it'll have to do!
3) Updating the element locator fixes the test Firefox right off the bat, but the test remains busted in IE6. The new problem is that the Dojo code is attempting to pull a clever IE-only trick to discover the location of the text cursor, but we don't have a text cursor, because we've just set the value of the field and simulated a key event.
We'll probably need to fix
SEL-237to fix this. In the meantime, adding this to ApacheMyFacesSuggestTest seemed to make it pass in IE6:selenium.getEval("var element = this.page().findElement('document.forms[0].elements[2]'); var range = element.createTextRange(); range.collapse(true); range.moveEnd('character',8); range.moveStart('character',8); range.select(); true;");