🍎
ListのXCTest - UITest
はじめに
SwiftUIでListを使っていて、UIテスト用にaccessibilityIdentifierを設定するまでは良かった。
ただ、ListのUI要素を取得する方法が結構探しても出てこなかったので、ここに書いておく。
この記事は、XCUITest初心者向けと思ってください。
前提
下記のようにListにaccessibilityIdentifierを設定していること。
List(self.viewModel._repositories) { repo in
NavigationLink {
// UI
} label: {
// Label UI
}
}
.scrollDismissesKeyboard(.immediately)
.accessibilityIdentifier("search.repositoryList")
ListのUI要素を取得する方法
app.collectionViews
で取得できた。
let app = XCUIApplication()
app.launch()
let list = app.collectionViews["search.repositoryList"]
どうやって見つけた?
app.debugDescription
をprintして、すべての要素を出力して確認した。
let app = XCUIApplication()
app.launch()
print(app.debugDescription)
そしたら以下の部分を発見したので解決に至った。
CollectionView, 0x10a804930, {{0.0, 162.3}, {402.0, 711.7}}, identifier: 'search.repositoryList'
終わりに
探しても全然出てこなかったので苦戦した。
もしかしてドキュメントに書いてあったのかな。
まあ、こんな感じでちゃんと確認するのが大事ですね。
Discussion