Android 在Appium中拖动时拍摄屏幕截图

Android 在Appium中拖动时拍摄屏幕截图,android,automation,screenshot,appium,Android,Automation,Screenshot,Appium,在安卓系统中,我需要在我的应用程序中拖动一个对象,并在按住该对象的同时拍摄屏幕截图 我知道有两种使用触摸动作的方法(我甚至没有考虑更高级别的方法,例如swipe(),因为它们让我对触摸动作的控制更少): 及 当我尝试将触摸动作分为两部分,并在两部分之间插入屏幕截图时,如下面的代码所示: new TouchAction(driver) .press(x,y) .moveTo(newX,newY) .perform(); takeScreenshot(); // My ow

在安卓系统中,我需要在我的应用程序中拖动一个对象,并在按住该对象的同时拍摄屏幕截图

我知道有两种使用触摸动作的方法(我甚至没有考虑更高级别的方法,例如
swipe()
,因为它们让我对触摸动作的控制更少):

当我尝试将触摸动作分为两部分,并在两部分之间插入屏幕截图时,如下面的代码所示:

new TouchAction(driver)
    .press(x,y)
    .moveTo(newX,newY)
    .perform();

takeScreenshot(); // My own implementation for readability 

new TouchAction(driver)
    .release()
    .perform();
我得到以下错误:

org.openqa.selenium.WebDriverException: ERROR running Appium command: Cannot read property 'x' of null
Command duration or timeout: 14 milliseconds
程序在第二次触摸操作中失败,即屏幕截图被成功拍摄,但我无法在以这种方式抓取对象后释放它


有什么想法吗?

看看你的问题

new TouchAction(driver)
    .release()
    .perform();

对于release,请提供一些x和y位置以供发布。尝试一下可能会有用

我不确定我是否正确理解您,但如果您建议我尝试.release(x,y),则没有这样的方法(至少在Appium的Java客户端中是这样)。尽管我无法直接使用您的答案,但您引导我朝着正确的方向前进,非常感谢!我的最后一段代码如下:
touchAction.moveTo(0,0.release().perform()其中touchAction指的是第一个touchAction对象:
touchAction touchAction=新的touchAction(驱动程序)。按(x,y)。等等。
通过使用对同一触摸动作的引用,并通过将坐标“移动”0,我能够完成第二个动作。
org.openqa.selenium.WebDriverException: ERROR running Appium command: Cannot read property 'x' of null
Command duration or timeout: 14 milliseconds
new TouchAction(driver)
    .release()
    .perform();