2017-02-28 13 views

答えて

2

あなたは、ボタン、ラベルや他の一般的なビュータイプが含まれていないというだけでotherElementsより要素、の完全なリストが必要な場合は、要素の型.Anyによってフィルタ処理する必要があります。

デフォルトではリストには表示されませんが、ループを使用してhittableでフィルタリングすると、画面上の項目のみにリストが制限されます。

let app = XCUIApplication() 
let allElements = app.descendantsMatchingType(.Any) 
var allHittableElements = [XCUIElement]() 
for i in 0..<allElements.count { 
    let element = allElements.elementBoundByIndex(i) 
    if element.hittable { 
     allHittableElements.append(element) 
    } 
} 

かなり遅いが簡単な解決策です。

XCUIElementQueryCollectionに準拠させ、Collection.filterにすることができます。

+0

allHittableElementsは現在表示されている画面にある要素だけを保持しますか? XCUIElementQueryの使い方を指導できると便利です。手伝ってくれてありがとう。 –

+0

このビデオでは、UIテストにXCTestを使用する方法について説明します:https://developer.apple.com/videos/play/wwdc2015/406/ – Oletha

関連する問題