Closed Bug 1396880 Opened 3 years ago Closed 2 years ago

Intermittent test_accessibility.py TestAccessibility.test_element_is_not_enabled_to_accessbility | ElementClickInterceptedException: Element <button id="button15"> is not clickable at point (1125,246.3) because it does not have pointer events enabled...

Categories

(Testing :: Marionette, defect, P5)

Version 3
defect

Tracking

(firefox57 fixed, firefox58 fixed)

RESOLVED FIXED
mozilla58
Tracking Status
firefox57 --- fixed
firefox58 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: whimboo)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

Filed by: hskupin [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=127762893&repo=try

https://queue.taskcluster.net/v1/task/RRKhTkLsTxK733twpK2K-A/runs/0/artifacts/public/logs/live_backing.log

Here the full exception summary:

Intermittent test_accessibility.py TestAccessibility.test_element_is_not_enabled_to_accessbility | ElementClickInterceptedException: Element <button id="button15"> is not clickable at point (1125,246.3000030517578) because it does not have pointer events enabled, and element <body> would receive the click instead
I think probably this is a case of an incorrect test assertion now
that webdriverClickElement covers some of the things accessibility
also does.  In https://bugzil.la/1387447 I addressed some of these
cases but it is possible I missed one.
OS: Unspecified → All
Hardware: Unspecified → All
I checked the log again in more detail. So there is a JS error thrown for ElementNotInteractableError:

[task 2017-09-01T15:45:15.941530Z] 15:45:15     INFO - 	WebDriverError@chrome://marionette/content/error.js:239:5
[task 2017-09-01T15:45:15.941865Z] 15:45:15     INFO - 	ElementClickInterceptedError@chrome://marionette/content/error.js:336:5
[task 2017-09-01T15:45:15.942123Z] 15:45:15     INFO - 	webdriverClickElement@chrome://marionette/content/interaction.js:188:11
[task 2017-09-01T15:45:15.942694Z] 15:45:15     INFO - 	async*interaction.clickElement@chrome://marionette/content/interaction.js:150:11
[task 2017-09-01T15:45:15.942881Z] 15:45:15     INFO - 	async*clickElement/<@chrome://marionette/content/listener.js:1368:14
[task 2017-09-01T15:45:15.943041Z] 15:45:15     INFO - 	navigate/<@chrome://marionette/content/listener.js:451:13
[task 2017-09-01T15:45:15.943390Z] 15:45:15     INFO - 	async*navigate@chrome://marionette/content/listener.js:450:13
[task 2017-09-01T15:45:15.943541Z] 15:45:15     INFO - 	clickElement@chrome://marionette/content/listener.js:1367:5

The failure then happens here:

        # Buttons are enabled but disabled/not-explorable via
        # the accessibility API and thus are not clickable via the
        # accessibility API.
        [...]  
        self.run_element_test(self.pointer_events_none_elementIDs,
                              lambda element: self.assertRaises(ElementNotAccessibleException,
                                                                element.click))

So we expect a ElementNotAccessibleException but get a ElementNotInteractableError.
Looking at OF, this hasnt been hit in a long time so closing
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
This is not present on OF because it would need the webdriver conforming click to be enabled, which we currently do not have. This bug is still a blocker for us to get this turned on.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
I have had a look at this file and as it turns out the tests which are failing here are for buttons which have the `pointer-event: none` CSS property set. It means they basically have to fail for whatever action is performed on those, eg. a click in this case. It will basically cause a `ElementClickInterceptedException` with webdriverClick turned on, and will never raise an accessibility related exception anymore.

As such those parts of test_element_is_not_enabled_to_accessbility have to be moved out to an element related test, and should not be kept in test_accessibility. Actually we have those tests in test_click.py.

For now I would propose that we keep running the above failing tests only if webdriverClick is turned off. I would like to keep those tests until the legacy click has been fully removed.
Assignee: nobody → hskupin
Status: REOPENED → ASSIGNED
Attachment #8919704 - Flags: review?(mjzffr)
Comment on attachment 8919704 [details]
Bug 1396880 - Skip not relevant checks in test_accessibility for webdriver click.

https://reviewboard.mozilla.org/r/190608/#review195892
Attachment #8919704 - Flags: review?(ato) → review+
Attachment #8919704 - Flags: review?(mjzffr)
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2c78eb815f54
Skip not relevant checks in test_accessibility for webdriver click. r=ato
https://hg.mozilla.org/mozilla-central/rev/2c78eb815f54
Status: ASSIGNED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Please uplift this test-only change to beta.
Whiteboard: [checkin-needed-beta]
You need to log in before you can comment on or make changes to this bug.