SeleniumHQ / selenium

A browser automation framework and ecosystem.
https://selenium.dev
Apache License 2.0
30.68k stars 8.19k forks source link

[🚀 Feature]: Implement Touch specific functionality in actions #10808

Open titusfortner opened 2 years ago

titusfortner commented 2 years ago

Feature and motivation

With the move to w3c, the previous Touch Actions API was made obsolete.

For single finger interactions, a user can set the pointer input "type" to be a "finger" similar to how this example shows it being set as a "pen": https://www.selenium.dev/documentation/webdriver/actions_api/pen/#using-a-pen

And then do all the things that any pointer input can do: https://www.selenium.dev/documentation/webdriver/actions_api/mouse/

What the existing implementations do not make easy is multiple inputs (fingers) acting simultaneously.

We should consider creating an API or options for things like "pinch," "zoom," and "scroll".

Whatever this API is, it should match what an Appium user does or would expect to do in native application contexts.

Usage example

new Actions(driver)
        .zoom(locus, startRadius, endRadius, pinchAngle, duration)
        .perform();
github-actions[bot] commented 2 years ago

@titusfortner, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 280 days with no activity. Remove stale label or comment or this will be closed in 14 days.

titusfortner commented 1 year ago

It might warrant a separate Issue, but it probably won't be a sticking point until/unless we implement the touch API in Java; but managing multiple action sequences in Java when you can't use Actions class is clunky, and we may need to find a better way to do this. (see point 4 - https://github.com/SeleniumHQ/selenium/issues/10724)

github-actions[bot] commented 10 months ago

This issue is looking for contributors.

Please comment below or reach out to us through our IRC/Slack/Matrix channels if you are interested.

github-actions[bot] commented 1 month ago

This issue is stale because it has been open 280 days with no activity. Remove stale label or comment or this will be closed in 14 days.

github-actions[bot] commented 2 weeks ago

This issue was closed because it has been stalled for 14 days with no activity.

nvborisenko commented 2 weeks ago

I think it is still actual.