在Android系统中,我需要在我的应用程序中拖动一个对象,并在仍然持有该对象的情况下拍摄截图。
我知道有两种使用触摸操作的方法(我甚至没有考虑更高级别的方法,比如swipe()
,因为它们给了我更少的控制触摸操作的能力):
new TouchAction(driver).press(element).moveTo(x,y).release().perform();
和
driver.performTouchAction(new TouchAction(driver).press(element).moveTo(x,y).release());
当我试图将我的触摸操作分成两部分,并在其中插入一个截图捕获时,如下所示:
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
该程序在第二次触摸操作期间失败,即截图正在成功拍摄,但我无法在以这种方式抓取对象之后释放它。
有什么想法吗?
发布于 2015-12-11 01:45:28
看你的问题
new TouchAction(driver)
.release()
.perform();
对于发行版,提供一些x和y位置以便发布,尝试一下可能有效。
https://stackoverflow.com/questions/34201207
复制相似问题