appium中webelement上长按()的问题

Posted

技术标签:

【中文标题】appium中webelement上长按()的问题【英文标题】:Problem in longPress() on web element in apium 【发布时间】:2018-10-03 08:55:25 【问题描述】:

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

TouchAction ac=new TouchAction(driver);

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

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

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

【问题讨论】:

【参考方案1】:

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

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();

【讨论】:

以上是关于appium中webelement上长按()的问题的主要内容,如果未能解决你的问题,请参考以下文章

在列表视图上长按事件后创建菜单

Swift 3 - 在 GMSMarker 上长按并打印其坐标(Google Maps iOS SDK)

在tableview自定义单元格中的图像上长按手势

在地图视图上长按触发推送 segue

苹果手机在百度知道上长按不能保存图片,请问怎么才能保存

无法在 webview 中使用 appium android 定位混合应用程序的 webelements