无法使用Appium在Android中执行拖放操作

时间:2016-02-14 17:14:22

标签: android appium appium-ios

我无法使用Appium在Android Hybrid App中使用以下代码执行拖放操作。

平台:带有Windows的Appium

选项1

new TouchAction(driver).longPress(ele1).moveTo(ele2).release.perform();

选项2

new TouchAction(driver).longPress(ele1).moveTo(ele2, 252, 180).release.perform();

选项3

new TouchAction(driver).longPress(ele1, 252, 152).moveTo(ele2, 252, 180).release.perform();
  

Appium版本:1.4.13; Android操作系统:4.4.2

错误:Appium抛出错误,就像它没有成功执行拖动操作一样。

  

--- log appium server ---- info:[debug] [BOOTSTRAP] [debug]返回结果:{“value”:“未成功拖动”,“状态”:13}

注意:我尝试了水平和垂直视角,但没有运气。

2 个答案:

答案 0 :(得分:0)

您可以使用乐器录制拖放手势,并在JAVASCRIPT执行器中使用生成的uiautomation脚本。

  1. 打开你的乐器(xcode的子ide)
  2. 使用混合应用程序选择您的模拟器
  3. 选择乐器中的录音选项
  4. 手动执行拖放手势
  5. 将生成相应手势的自动化脚本
  6. 复制脚本并在JavaScriptexecutor中使用并执行代码

答案 1 :(得分:0)

我相信拖放大多数元素都将作为列表实现,并且在执行移动操作之前应该单击第一个元素

您可以使用该元素的索引进行移动 试试这个

driver.findElements(By.id("your identifier")).get(0).click();
new TouchAction((MobileDriver)driver).longPress(driver.findElements(By.id("your identifier")).get(0)).moveTo(driver.findElements(By.id("your identifier")).get(7)).release().perform();

用你的id

的索引号替换get(0),(7)