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

Key: SRC-358
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
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

Long getEval/runScript commands take a long time to decode on IE

Created: 01/Oct/07 05:47 PM   Updated: Tuesday 07:50 AM
Component/s: Launcher - Internet Explorer
Affects Version/s: 0.9.2
Fix Version/s: 1.0 beta 1

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


 Description  « Hide
If you send a very long getEval or runScript command, you'll find that it takes quite a while to run. That's because we transmit Selenium RemoteCommands to the browser as URI-encoded name value pairs, like this:

cmd=click&1=blah+blah+blah%2F%2F

On the browser side, we use "decodeURIComponent" to unpack the values into their appropriate Unicode-encoded strings.

The trouble with this is that "decodeURIComponent" is orders of magnitude slower on IE. On FF, decoding a 300K string takes <16ms, but on IE, it can take 13-14 seconds.

To fix this, we'd have to select some other mechanism of serializing the data to the browser (perhaps JSON). This shouldn't need to impact the clients; we should continue to accept the same URIs we've been using, but decode them in the server and then translate them into something else to translate them to the browser. We'll also have to take care to specify correct character encoding headers in the HTTP response, something we haven't had to worry about much up until this point.

 All   Comments   Work Log   Change History      Sort Order:
Jennifer Bevan - 07/Nov/07 04:16 PM
the changes in Revision 2076 that address this issue broke my 'hello google' tests on IE6/Winxp -
the same test works fine in revision 2075. What is the timeline for fixing this, or can we roll it back?
-Jen

Jennifer Bevan - 07/Nov/07 04:17 PM
Drats; meant to copy the other paragraph...
Anyway, it may be that I only need to install some libraries, or that the maven wrapper did not include
the necessary parts in the -standalone jar.
-Jen

Dan Fabulich - 10/Nov/07 04:42 PM
Well, the build on ci.selenium.openqa.org seemed to pass with this check-in in place. We have a simple Google Search Test that passed in PI and non-PI mode... is that the test you meant? If not, is it possible to check in some test or other that might help us to avoid future breakages?

As mentioned in this forum thread, fixing this bug will impact Selenium Grid, and therefore it will certainly also impact some of the code at Google. I would hope that it wouldn't require *too* much effort, though...

http://forums.openqa.org/thread.jspa?threadID=10666