History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: SRC-55
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Dan Fabulich
Reporter: Dan Fabulich
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Selenium Remote Control

Apache MyFaces tests are failing

Created: 01/May/06 09:20 PM   Updated: 18/Nov/08 09:28 AM
Component/s: None
Affects Version/s: 0.7, 0.7.1, 0.8.0
Fix Version/s: 0.8.0

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown



 All   Comments   Work Log   Change History      Sort Order:
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;");