我正在使用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方法存在问题。
答案 0 :(得分:0)
你需要长按该元素并将其拖动到其他元素。目前,你只需按下长按并执行动作而不释放它。
试试这个:
actions.longPress(element1).moveTo(element2).release().perform();