XCTest UI测试 - 拖放

时间:2016-11-23 12:51:10

标签: xcode xctest xcode-ui-testing

我正在尝试将图片拖动到我的应用中的特定布局,我可以点按图片但无法移动到放置区域。并尝试了以下解决方案:

1

let startCoord = XCUIApplication().cells.element(boundBy: 0).coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.01));
let endCoord = startCoord.withOffset(CGVector(dx: 0.0, dy: -900));
startCoord.press(forDuration: 0.25, thenDragTo: endCoord)

2

let fromCoordinate = XCUIApplication().coordinate(withNormalizedOffset:CGVector(dx: 5, dy:10))
let toCoordinate = XCUIApplication().coordinate(withNormalizedOffset:CGVector(dx: 5, dy: 20))
fromCoordinate.press(forDuration: 5, thenDragTo: toCoordinate)
Locating through coordinates.

但我仍然无法找到解决方案。

有谁知道如何执行拖动和放大在Xcode 8.1中正确删除?

1 个答案:

答案 0 :(得分:0)

首先看一下功能规范:

 public func pressForDuration(duration: NSTimeInterval, thenDragToElement otherElement: XCUIElement)

很明显,您必须使用XCUIElement作为“thenDragTo”参数。

您正在传递XCUICoordinate作为无效的参数。

尝试获取图像的XCUIElement,而不是将XCUIElement放在要拖动的位置,而不是使用该函数。下面给出一个简单的例子:

let firstImage = app.images.elementBoundByIndex(0)
let secondImage = app.images.elementBoundByIndex(1)
firstImage.pressForDuration(forDuration: 5, thenDragTo: secondImage)
//this will drag the first image to the second image location.

希望这能帮到你,让我知道会发生什么。