【swift/XCTest】iOSアプリのテストにおいて、AccessibilityIdentifierでUIパーツが取得できない

公開日: 

はじめに

今回は Xcode で XCTest で UI テストを行うときに、AccessibilityIdentifierで UI パーツを取得するのに少し詰まったところがあったので備忘録的に記事に書きます。

詰まっているところ

UI パーツに AccessibilityIdentifier を定義し、スペルミスもないのに UI パーツを取得できない。

結論 ①

storyboard で AccessibilityIdentifier を定義したが、ViewController の中でも定義しており、そこで ID が変更されていたので、取得できなかった。

これは凡ミスのパターン。storyboard かコード、AccessibilityIdentifier を定義するのに、どっちを使うのかは人によるかもしれませんが、どちらかに統一しておいた方がこういったミスは減ります。自分は極力コードで定義するようにしています。

結論 ②

UILabel の AccessibilityTraits のStatic Textsのチェックボックスを外す

本当に詰まって先輩エンジニアに聞いたら、先輩も頭を抱えていたんですが『そこのチェックボックス怪しいな...』

とのことなので外してみるとうまくいきました。この項目は調べてもなかなか記事がヒットせず、詳しいことは分かりませんが、うまく行ったのでよしとしましょう。

最後に

やはり、自分よりできる人に聞くことって大事ですね。自分だったら絶対結論 ② の解決法には気づきませんでした。

では、Bye