Opened 12 years ago
Closed 12 years ago
#8958 closed defect (fixed)
robot test repeating problem (IE8)
Reported by: | bill | Owned by: | haysmark |
---|---|---|---|
Priority: | high | Milestone: | 1.4 |
Component: | TestFramework | Version: | 1.3.0b3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
I'm getting a problem that when Dialog_a11y.html or Dialog_mouse.html run (and probably other tests too) on my IE8 machine, it runs the test twice (reporting the results twice too). I traced this much:
There's an <input> in runner.html:
<input type="text" tabIndex="-1" style="border:0px none;margin:0px;padding:0px;position:absolute;left:0px;top:0px;width:200px;height:42px;background-color:white;z-index:9999;opacity:0;filter:alpha(opacity=0);cursor:default;" onmousewheel="_onmousewheel(arguments[0])" onmousedown="_onmousedown(arguments[0])" onkeypress="_onkeypress(arguments[0])" onfocus="_onfocus(this)" onblur="_onblur(arguments[0])">
When I load the page (hitting the refresh button on the browser), the onmousewheel handler fires. Not sure why, since I didn't move the mouse wheel. Anyway, that calls doh.robot._onKeyboard(), and that does the setTimeout:
setTimeout(function(){ var rf = document.getElementsByTagName('input')[0]; rf.style.visibility = "hidden"; doh.robot._run(window.frameElement); }, 0);
Then the timeout fires, and doh.robot._run() is called, which calls doh.run().
That makes the test suite execute. doh.run() is actually called repeatedly, apparently because of all the deferreds (the test is paused then resumed at each deferred I think), but that seems normal.
The problem is that after (what should be) the final doh.run() completes, and the results are reported... that's when _initRobot() gets called. Apparently that's supposed to get called first, right?
_initRobot() calls doh.run() which then runs the entire test suite over.
Change History (2)
comment:1 Changed 12 years ago by
Milestone: | tbd → 1.4 |
---|
comment:2 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Apparently this bug only occurs when the IE8 developer toolbar is turned on. (The debugger doesn't have to be running, just the DOM inspector thing.)
Anyway, I checked in a change in [17226] so _initRobot() only runs once, and that seems to solve the problem.