【发布时间】:2018-02-14 09:38:20
【问题描述】:
我正在使用 Appium 1.6.5 和 Windows 10。
使用 Appium 的演示应用程序 (ApiDemos-debug.apk),我正在尝试拖放点。
查看应用屏幕:
这是我当前的代码:
TouchAction actions = new TouchAction(driver);
actions.tap((AndroidElement)driver.findElementByAndroidUIAutomator("text(\"Views\")")).perform();
driver.findElementByAndroidUIAutomator("text(\"Drag and Drop\")").click();
AndroidElement element1 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_1"));
AndroidElement element2 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_2"));
actions.longPress(element1).waitAction(3000).perform().release();
运行测试时会打印此错误:
org.openqa.selenium.NoSuchElementException:一个元素不能 使用给定的搜索参数位于页面上。 (警告: 服务器没有提供任何堆栈跟踪信息)
longPress() 调用的任何组合都会导致此错误。我可以点击并点击,这很好。当涉及到使用其他 TouchAction 方法时,就会出现错误。
知道如何解决这个问题吗?需要知道是我的设置错误还是 TouchAction 方法有问题。
【问题讨论】:
-
如果我要添加一个新的 TouchAction 变量(例如 actions2)并使用它来调用另一个 TouchAction 方法,它将起作用。不确定这是 Appium 版本的问题还是 perform() 方法没有清除命令队列(如果它甚至打算这样做的话)。
标签: android appium ui-automation