Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

appium long press and than move element(drag and drop) is not working

I have a scenario to test an IOS app like this:

  1. long press on an element.
  2. move that element to desired location.

I am using the following code:

TouchAction action = new TouchAction(driver)
action.long_press(element1).move_to(element2).wait(500).release().perform()

but its not working for me. Need any good suggestion.

like image 861
Eric Ipsum Avatar asked Dec 01 '22 16:12

Eric Ipsum


2 Answers

i was in trouble also about this. But i solved this like below:

TouchAction action = new TouchAction(driver);
action.longPress(elem1).waitAction(3000).moveTo(elem2).perform().release();

waitAction will wait to complete longPress action and then moveTo action will perform.

like image 161
noor Avatar answered Dec 05 '22 11:12

noor


I found none of the longPress() combinations to work, so I got to this variant where you force it to perform the press and then move. Tested on Android and iOS, didn't seem to work for UWP

new TouchAction(driver)
    .press(PointOption.point(256, 1115))
    .waitAction(WaitOptions.waitOptions(Duration.ofMillis(2000)))
    .perform()
    .moveTo(PointOption.point(256, 600))
    .release()
    .perform();
like image 26
sea cat Avatar answered Dec 05 '22 11:12

sea cat