Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode UI测试-点击x y位置_Ios_Xcode_Coordinates_Tap_Xcode Ui Testing - Fatal编程技术网

Ios Xcode UI测试-点击x y位置

Ios Xcode UI测试-点击x y位置,ios,xcode,coordinates,tap,xcode-ui-testing,Ios,Xcode,Coordinates,Tap,Xcode Ui Testing,我尝试在使用Xcode和UI测试时点击x,y位置。这是我的密码: XCUIApplication().coordinateWithNormalizedOffset(CGVector(dx: 50, dy: 50)).tap() 按钮的中间部分肯定位于该位置,并且无法识别为单个对象(因此使用x,y坐标) 但是,这不是按下按钮。有人知道有没有正确的方法点击x-y坐标吗?dx和dy不是像素偏移,而是标准化向量。例如,0.5实际上是元素的中间部分。您的代码试图点击屏幕边界之外的元素(大约50x!)

我尝试在使用Xcode和UI测试时点击x,y位置。这是我的密码:

 XCUIApplication().coordinateWithNormalizedOffset(CGVector(dx: 50, dy: 50)).tap()
按钮的中间部分肯定位于该位置,并且无法识别为单个对象(因此使用x,y坐标)


但是,这不是按下按钮。有人知道有没有正确的方法点击x-y坐标吗?

dx和dy不是像素偏移,而是标准化向量。例如,0.5实际上是元素的中间部分。您的代码试图点击屏幕边界之外的元素(大约50x!)

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

我这样问是因为您可以(通常)使用正确的可访问性属性将任何控件或UI元素公开给UI测试。例如,您可以将
accessibilityLabel
accessibilityIdentifier
设置为按钮的文本。然后您可以使用该值访问测试下的按钮

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

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

乔-谢谢你的提醒re 50x!哎呀。我们已经尝试过可访问性标签、ID和提示,但由于一些未知的原因,这个页面被证明是可怕的。开发人员仍在调试原因,但我说在此期间我将尝试x,y方法。将尝试一些0.x值-谢谢!