2016-09-22 3 views
1

私はfastlane screenshotを稼働させようとしています。それはXcode UITestを稼働させることを意味します。私は3-barシンボルをスライドアウトボタンとして使用するIonicアプリケーションを構築します。そのようなことはwebappsでは簡単です。Xcode UITestのapp.buttonsにアクセスする際に参照可能なテキストがありません。

私はuITestレコードを使用する場合しかし、それはボタンを誤って解釈し、それが保存されたUIコマンドを実行しようとすると、それは明らかにこれにチョークやテストをクラッシュ

app.buttons[""].tap()

次のように表す終わります...そのようなラベルテキストを使用している以外の方法でボタンを表現する方法はありますか?

ボタンIDにIDまたはNAMEを使用することができるようですが、どこでもこの問題の解決策を見つける必要があります。

答えて

2

ボタンにAccessibilityIdentifierを付けることができます。これは、UIテストでのみ読み取られるプロパティであり、読み込み可能なテキストを必要としません。

ボタンにアクセシビリティラベルを付けることもできます。アクセシビリティラベルを使用すると、画面リーダーや他のデバイスなどでアクセシビリティを使用しているユーザーがボタンを使用できるようになります。

これらのプロパティの両方をXCUIElementQueryで読み取ることができます。つまり、app.buttons["slide_out"].tap()などを使用できます。

これを実行するには、コード(button.accessibilityIdentifier = "slide_out"など)またはストーリーボード(プロパティの下に、スクリーンショットを参照)にaccessibilityIdentifier/accessibilityLabelを明示的に設定します。

Here is the Storyboard area in question

あなたは要素がXCUITestでカスタムヘルパーについて、私はお勧めジョーMasilottiのブログ投稿を表示されるのを待つ必要があるため、他の一方で、タイミングの問題がある場合:http://masilotti.com/xctest-helpers/

+0

はありがとうございましたあなたのプロンプトと本当に役立つヘルプ... – menriquez

+0

私はほとんどこれを言うのが嫌いですが、実際の問題は、私はテストスクリプトに遅延を導入する必要があったことが判明...私は、そうでなければ同じ問題に遭遇しますが、もう一度興味深い情報のために再び! – menriquez

+1

それを言わないでください。代わりに、Joe MasilottiのXCUITestカスタムヘルパーをチェックしてください:http://masilotti.com/xctest-helpers/ 彼はテストスクリプトで遅延を導入するための本当に良い解決策を見つけました。 –

関連する問題