2016-05-06 38 views
2

我试图在使用Xcode和UI测试的同时点击x,y位置。这是我的代码:Xcode用户界面测试 - 点击x的位置

XCUIApplication().coordinateWithNormalizedOffset(CGVector(dx: 50, dy: 50)).tap() 

按钮的中间肯定是在那个位置,并且不能被识别为单个对象(因此使用X,Y坐标)。

但是,这不是按下按钮。任何人都知道是否有正确的方法来挖掘x坐标?

回答

4

dxdy不是像素偏移量,而是归一化向量。例如,0.5实际上是元素的中间。您的代码尝试在屏幕边界之外点击某个元素(大约减少50倍!)。

我建议试着用不同的方法解决问题。首先,为什么不能识别按钮?你有什么尝试?您是否使用自定义的UIButton子类?

我问,因为你可以(通常)暴露任何控制或UI元素的UI测试与正确的可访问性属性。例如,您可以将accessibilityLabelaccessibilityIdentifier设置为该按钮的文本。然后你可以使用该值访问被测按钮。

// Production Code 
let button = UIButton() 
button.setTitle("Save", forState: .Normal) 
button.accessibilityIdentifier = "Save" 

// UI Test Code 
``` 
let app = XCUIApplication() 
app.buttons["Save"].tap() 
+0

乔 - 谢谢你的提升50倍!哎呀。我们已经尝试了可访问性标签,ID和提示,但是由于某些未知原因,此页面已被证明是可怕的。 Devs仍然在调试为什么,但我说我会在此期间尝试一种x,y方法。将尝试一些0.x值 - 谢谢! –