CodeceptJS icon indicating copy to clipboard operation
CodeceptJS copied to clipboard

Change WebDriver.IO moveCursorTo behaviour to auto-center on element

Open axheim opened this issue 5 years ago • 1 comments

Issue

WebDriver.IO moveCursorTo does not auto-center on element as default

Issue Details

Current implementation of WebDriver.IO moveCursorTo uses 0,0 as default offsets for x,y coordinates.

In some situations this can cause problems, if hovering actions are implemented on both parent and child element. Having moved the mouse to 0,0 coordinate of the child causes the browser sometimes to trigger hover event of the parent instead of the child at 0,0 coordinate.

Expected behaviour

Better default behaviour would be to calculate size of the target element and automatically move coursor to the center of this element, instead of the 0,0 corner to improve robustness.

Environment Details

  • CodeceptJS version: 2.4.3
  • NodeJS Version: 12.13.0
  • Operating System: Windows 10, Chrome 80
  • webdriverio

axheim avatar Apr 20 '20 21:04 axheim

It would be useful. Also as a user I typically click to the center of buttons, not to point 0,0 Now I have to call moveCursorTo() with offsetX and offsetY = 5 in my WebDriver tests otherwise the tests often fail (sometimes in Chrome, sometimes in Firefox, sometimes in both browsers).

mirao avatar Apr 25 '20 09:04 mirao