Closed Bug 1373502 Opened 7 years ago Closed 7 years ago

Intermittent test_click.py TestClickNavigation.test_click_option_navigate | NoSuchElementException: Unable to locate element: delay

Categories

(Testing :: Marionette Client and Harness, defect)

Version 3
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Unassigned)

References

()

Details

(Keywords: intermittent-failure)

1497571893504	Marionette	DEBUG	Received DOM event "pageshow" for "http://127.0.0.1:33132/clicks.html"
1497571893506	Marionette	TRACE	420 <- [1,6,null,{}]
1497571893520	Marionette	TRACE	420 -> [0,7,"findElement",{"using":"id","value":"option"}]
1497571893530	Marionette	TRACE	420 <- [1,7,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"69ad9b92-d3d4-42b5-932c-80285bf2366e","ELEMENT":"69ad9b92-d3d4-42b5-932c-80285bf2366e"}}]
1497571893531	Marionette	TRACE	420 -> [0,8,"clickElement",{"id":"69ad9b92-d3d4-42b5-932c-80285bf2366e"}]
1497571893600	Marionette	DEBUG	Received DOM event "beforeunload" for "http://127.0.0.1:33132/clicks.html"
1497571898806	Marionette	DEBUG	Canceled page load listener because no navigation has been detected
1497571902673	Marionette	TRACE	420 <- [1,8,null,{}]
1497571902708	Marionette	TRACE	420 -> [0,9,"findElement",{"using":"id","value":"delay"}]
1497571902716	Marionette	TRACE	420 <- [1,9,{"error":"no such element","message":"Unable to locate element: 

So we found the option element and clicked it. A `beforeunload` event was raised so we were waiting for a page load. But even after 5s no page load activity has been seen, and as such we canceled the event.

Andreas, meanwhile I think using 5s only for the wait might be too less. Shouldn't we just leave the currently set page load timeout instead? I think that this would be more appropriate.
Flags: needinfo?(ato)
(In reply to Henrik Skupin (:whimboo) from comment #1)

> [M]eanwhile I think using 5s only for the wait might be too less.
> Shouldn't we just leave the currently set page load timeout instead? I
> think that this would be more appropriate.

I tend to agree with you, and I believe I made a comment about the using
an arbitrary 5s timeout when we first introduced the wait-for-page-load
behaviour.

In any case, I think you are correct that using the page load timeout
is more appropriate.  Given that non-optimised debug builds in CI are
extremely slow, we might consider multiplying the page load timeout on
these environment, like we do for the configurable timeouts used in the
WPT harness.
Flags: needinfo?(ato)
People also see this when using Selenium and geckodriver:
https://github.com/mozilla/geckodriver/issues/804

I will see that I can work on this next. The might not be that pretty hard to do.
So simply removing the second timer for the pagehide/unload events doesn't work because in those cases the click onto an XPI file doesn't work anymore. It only causes a beforeunload event to be fired, which should not cause an exception.

I will delay this bug for a bit while working on other page load issues first.
https://wiki.mozilla.org/Bugmasters#Intermittent_Test_Failure_Cleanup
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
Product: Testing → Remote Protocol
Moving bug to Testing::Marionette Client and Harness component per bug 1815831.
Component: Marionette → Marionette Client and Harness
Product: Remote Protocol → Testing
You need to log in before you can comment on or make changes to this bug.