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