2017-01-01 9 views
2

iOSアプリケーションをテストしていますが、現在、isHittableを使用して特定のXCUIElementの存在を確認しています。XCTestを使用してiOSアプリケーションをテスト中に、画面上のXCUIElementの位置を確認します。

ビュー上のXCUIElementの位置を確認できるかどうかを知りたかったのです。たとえば、ビューの右下隅にボタンがある場合、XCTestフレームワークを使用して実際に右下にあるかどうかを確認できますか?

私はApple Documentation for XCTestフレームワークを見ましたが、何の手がかりも得ていませんでした。どんな助けでも大歓迎です。

答えて

3

XCUIElementは、問題の要素の座標を見つけるために使用できるプロパティframeを持っています。

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

あなたは要素の位置を主張する方法に応じて、このようなmidXmidYとしてCGRectあるフレーム、に対して異なるポイントを取得する他の方法は、あります。

あなたはXCTestが機能 UIテストフレームワークであることを認識すべきである、とあなたは要素の位置を主張するためにそれを使用している場合、位置は、おそらくあなたのテストが脆くもデバイス/シミュレータごとに異なるものになります。

0

使用して、要素の境界を取得します:境界が正しいかどうかをチェックすると

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

を。境界線は、ポートレートで保持されたときの画面の左上隅からの相対値です。

関連する問題