Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] Hold and swipe/drag to reorder items #1203

Open
simon-gilmurray opened this issue Jun 27, 2023 · 7 comments
Open

[Enhancement] Hold and swipe/drag to reorder items #1203

simon-gilmurray opened this issue Jun 27, 2023 · 7 comments
Labels
enhancement New feature request or improvement of an existing feature maestro cli Related to the command-line Maestro tool P3 Issues that are less important

Comments

@simon-gilmurray
Copy link

simon-gilmurray commented Jun 27, 2023

Is your feature request related to a problem? Please describe.
Some apps require holding and swiping/dragging to reorder items

Describe the solution you'd like
Some kind of ability to perform the above, e.g. - longPressAndSwipeTo

@simon-gilmurray simon-gilmurray added the enhancement New feature request or improvement of an existing feature label Jun 27, 2023
@razvanvancea
Copy link

+1, I find this feature really useful. This behavior appears just after login flow, hence it is a blocker for the app that I test. Lack of this feature forces me to go with Appium instead of Maestro. Hopefully it will be released asap

@bartekpacia bartekpacia added the maestro cli Related to the command-line Maestro tool label Jul 12, 2024
@bartekpacia
Copy link
Contributor

bartekpacia commented Jul 12, 2024

Hey Simon, thanks for this great feature idea!

What would be the API you'd like to see? An idea:

appId: com.example.example
---
- launchApp
- longPressOnAndSwipeTo:
    longPressOn: # accepts all params for longPressOn
    swipe: # accepts all params for swipe
- assertVisible: ...

This new hypothetical command would essentially be a mix of longPressOn and swipe.

@simon-gilmurray
Copy link
Author

Hey Simon, thanks for this great feature idea!

What would be the API you'd like to see? An idea:

appId: com.example.example
---
- launchApp
- longPressOnAndSwipeTo:
    longPressOn: # accepts all params for longPressOn
    swipe: # accepts all params for swipe
- assertVisible: ...

This new hypothetical command would essentially be a mix of longPressOn and swipe.

@bartekpacia Yes that sounds ideal!

@skowrons
Copy link

Just throwing an idea out there - wouldn't it be interesting to make the API more generic by representing "drag and drop" with start, middle and end points? We have a use case where we need to draw a complete circle, and this could be a flexible way to accommodate that and potentially other complex gestures.

- gesture:
     start: {x: 200, y: 400}
     steps:
       - {x: 250, y: 350}
       - {x: 300, y: 400}
       - {x: 250, y: 450}
       - {x: 200, y: 400}

Then it could be nice to define the initial tab event to be of type press or longPress

@bartekpacia
Copy link
Contributor

bartekpacia commented Sep 4, 2024

@skowrons

wouldn't it be interesting to make the API more generic by representing "drag and drop" with start, middle and end points?

Yeah, totally. I think we'd also need a way to specify timeout between gestures, and how long a move between each two points should take.

@bartekpacia bartekpacia added the P3 Issues that are less important label Sep 4, 2024
@bartekpacia
Copy link
Contributor

Of course, contributions are welcome!

@NorseGaud
Copy link

This is badly needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature request or improvement of an existing feature maestro cli Related to the command-line Maestro tool P3 Issues that are less important
Projects
None yet
Development

No branches or pull requests

5 participants