Check the position of the XCUIElement on screen while testing iOS Application using XCTest

一世执手 提交于 2020-01-02 05:32:07

问题


I am testing an iOS Application and currently I am checking the existence of a particular XCUIElement using isHittable.

I wanted to know if we can also check the position of the XCUIElement on the view. For instance, if we have a button in the bottom right corner of the view, can we check if it is actually in the bottom right corner using XCTest framework?

I had a look at the Apple Documentation for XCTest framework but did not get any clue. Any help will be greatly appreciated.


回答1:


XCUIElement has a property frame which you can use to find the coordinates of the element in question.

let button = XCUIApplication().buttons["someButton"]
let frame = button.frame
let xPosition = frame.origin.x
let yPosition = frame.origin.y

There are other ways of retrieving different points relative to the frame, which is a CGRect, such as midX and midY, depending on how you want to assert the position of the element.

You should be aware that XCTest is a functional UI testing framework, and if you are using it for asserting the position of an element, the position will probably be different per device/simulator which may make your tests brittle.




回答2:


Get the bounds of the element using:

let bounds = viewToTest.convert(viewToTest.bounds, to: nil)

Then check if the bounds are correct or not. Note that the bounds are relative to the top-left corner of the screen when held in portrait.



来源:https://stackoverflow.com/questions/41419575/check-the-position-of-the-xcuielement-on-screen-while-testing-ios-application-us

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!