現在、自動化テストを作成するときにアクセシビリティ ラベルで要素を検出していますか? これは多くの問題を引き起こします。
- これは要素を検出する正しい方法ですか?
- そうでない場合、アクセシビリティ ラベルを使用せずに要素を検出するより良い方法はありますか?
現在、自動化テストを作成するときにアクセシビリティ ラベルで要素を検出していますか? これは多くの問題を引き起こします。
UI オートメーション は、アクセシビリティ ラベル (設定されている場合) を使用して、各要素の name プロパティを派生させます。明らかな利点は別として、このような名前を使用すると、テスト スクリプトの開発と保守が大幅に簡素化されます。
name プロパティは、テスト スクリプトで非常に役立つこれらの要素の 4 つのプロパティの 1 つです。
「これは多くの問題を引き起こします。」の意味がわかりません。Automation Instrument のアクセシビリティ プロパティを使用して要素にアクセスするのは非常に簡単です。
var button = UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Cancel"];
もちろん、画面上の順序で要素にアクセスすることもできます。例えば:
var button = UIATarget.localTarget().frontMostApp().mainWindow().buttons()[3];
画面上の 4 番目のボタン (0 から番号が付けられます) ラベルを参照します。ただし、アプリの次のバージョンで画面上の要素を再配置することにした場合、このメソッドはテストを壊す可能性があるため、アクセシビリティ ラベルでアクセスする方が安全です。
さらに、アクセシビリティ要素を使用すると、アプリ インターフェイスを使用するために VoiceOver に依存する (障害を持つ) 人々にとって、アプリがより使いやすくなります。そのため、インターフェイス テストを作成する際にアクセシビリティ プロパティを使用すると、アプリのアクセシビリティを向上させる必要があります。