在apium中的web元素上的longPress()中的问题

时间:2018-10-03 08:55:26

标签: automation appium long-press

我正在将longpress()用于apium中的Web元素,并且正在使用ApiumDriver。 下面是代码和错误:

TouchAction ac = new TouchAction(driver);

ac.longPress(((LongPressOptions)sm).perform()。release();

其中sm是我的网络元素,而错误如下:

无法将io.appium.java_client.android.AndroidElement强制转换为io.appium.java_client.touch.LongPressOptions

1 个答案:

答案 0 :(得分:1)

longPress方法内,您必须使用AndroidElement传递ElementOption

import static io.appium.java_client.touch.offset.ElementOption.element;
import static io.appium.java_client.touch.LongPressOptions.longPressOptions;
import io.appium.java_client.TouchAction;

    WebElement someElement = 
     driver.findElement(By.id("someID"));
  // WAY 1
   TouchAction ac=new TouchAction(driver);
   ac.longPress(element(someElement)).perform().release();

  // WAY 2
    TouchAction dragNDrop = new TouchAction(driver)
            .longPress(longPressOptions()
                    .withElement(element(someElement))
                    .withDuration(ofSeconds(2)))
            .perform().release();