我正在测试iOS应用程序,目前我正在使用isHittable
检查是否存在特定的XCUIElement
。在使用XCTest测试iOS应用程序时检查屏幕上XCUIElement的位置
我想知道我们是否也可以检查视图上XCUIElement的位置。例如,如果我们在视图的右下角有一个按钮,我们可以使用XCTest框架检查它是否实际位于右下角?
我看了一下XCTest框架的Apple文档,但没有得到任何线索。任何帮助将不胜感激。
我正在测试iOS应用程序,目前我正在使用isHittable
检查是否存在特定的XCUIElement
。在使用XCTest测试iOS应用程序时检查屏幕上XCUIElement的位置
我想知道我们是否也可以检查视图上XCUIElement的位置。例如,如果我们在视图的右下角有一个按钮,我们可以使用XCTest框架检查它是否实际位于右下角?
我看了一下XCTest框架的Apple文档,但没有得到任何线索。任何帮助将不胜感激。
XCUIElement
有一个属性frame
您可以使用它来查找有问题的元素的坐标。
let button = XCUIApplication().buttons["someButton"]
let frame = button.frame
let xPosition = frame.origin.x
let yPosition = frame.origin.y
有相对于框架,这是一个CGRect
,检索不同点的其他方式,如midX
和midY
,这取决于你想如何断言元素的位置。
你应该知道XCTest是一个UI测试框架,如果你使用它来声明一个元素的位置,那么每个设备/模拟器的位置可能会不同,这可能会让你的测试变得脆弱。
使用获取元素的界限:
let bounds = viewToTest.convert(viewToTest.bounds, to: nil)
然后检查的范围是否正确。请注意,纵向放置时,边界相对于屏幕的左上角。