dojo / widgets

:rocket: Dojo - UI widgets.
https://widgets.dojo.io
Other
89 stars 65 forks source link

Triaging Functional Test Failures #371

Closed pottedmeat closed 5 years ago

pottedmeat commented 6 years ago

Enhancement

A number of functional tests in widgets either employ workarounds or skip specific browsers to allow them to run. Known driver bugs are also skipped by targeting browsers. We should try to avoid targeting browsers and instead of using the available APIs to do feature detection, etc.

Skips and workarounds

Numbers in (parens) refer to bugs below.

(1) Calendar: Edge driver does not handle mouseup on click. (8?) Calendar: Skipped if either supportsKeysCommand is false or the browser is Safari "Arrow keys must be supported" The focusing click event happens on a td element (2) Calendar: Edge driver does not handle focus on click

(3, 4) ComboBox: FirefoxDriver and SafariDriver update the input value with non-printable characters. https://openradar.appspot.com/radar?id=6097023048613888 (5) ComboBox: SafariDriver does not move focus with tab key. https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/5403

(6, 7) Dialog: Edge and Firefox are also having trouble with tab key focus. (8) Dialog: SafariDriver doesn't recognize focus on divs

(9) SlidePane: Edge driver does not handle mouse movements correctly. https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11469232/

Slider: All tests skipped in Edge ("example page doesn't work in Edge") (8?, 10) Slider: "Click to focus" tests skipped in Firefox and Safari (11) Slider: mouse movements doesn't work in IE. (12, 13) Slider: "slider should be slidable with mouse" tests skipped in Firefox and Safari (14, 15) Slider: pressKeys with arrow keys doesn't work in iphone and IE.

(16) SplitPane: All tests skipped in Safari, Firefox, and Edge (StaleElement, undefined target)

(17) Textarea: getVisibleText includes the textarea placeholder in IE (18) Textarea: Firefox is not able to locate the input. (19) Textarea: Classes are not being updated in Safari 9

(20) Timepicker: Firefox throws an error when clicking on the disabled input. Timepicker: Test does not work on Internet Explorer

(21) ALL: return document.activeElement === document.querySelector('#example-s1 .${css.root} input'); is used in place of APIs

Bugs:

  1. Edge driver doesn't send mouseup event on click
  2. Edge driver does not handle focus on click
  3. FirefoxDriver updates the input value with non-printable characters
  4. SafariDriver updates the input value with non-printable characters (https://openradar.appspot.com/radar?id=6097023048613888)
  5. SafariDriver does not move focus with tab key (https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/5403) Potentially fixed
  6. Edge does not move focus with tab key Other tab focus tests seem to pass
  7. FirefoxDriver sends actual charcodes to the input
  8. SafariDriver doesn't recognize focus on divs
  9. Edge driver does not handle mouse movements correctly (https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11469232/)
  10. Click to focus not working in Firefox
  11. Mouse movements not working in IE
  12. Mouse movements not working in Firefox
  13. Mouse movements not working in Safari
  14. Arrow keys don't work in mobile Safari
  15. Arrow keys don't work in IE
  16. Stale/undefined targets encountered during tests
  17. getVisibleText includes the textarea placeholder in IE
  18. Firefox not locating nodes
  19. Safari is not detecting node class updates
  20. Firefox throws an error when clicking a disabled input
  21. findByCssSelector followed by .getActiveElement() may result in different elements
tomdye commented 5 years ago

closing as part of cleanup, we are likely to drop functionals for widgets v7