UI コントロールの 安定した識別子 とは、コントロールの呼び出しごとに、または UI コントロールが存在するアプリケーションのバージョンが変わっても変更されない識別子を言います。安定した識別子は、その使用されるコンテキストにおいて一意である必要があります。つまり、同じ識別子を持つコントロールが同時にアクセス可能でないことが求められます。つまり、グローバルなコンテキストで一意である
GUID 形式の識別子を使用する必要はありません。コントロールの識別子は、可読性が高く、有意な名前であるべきです。これらの識別子の命名規則によって、実際のコントロールに識別子を関連付けるのがより容易になります。
例:キャプションはコントロールの良い識別子と言えるか
ほとんどのテスト ツールでは、UI コントロールのデフォルト識別子として
キャプション を使用します。キャプションは、コントロールに関連付けられた UI のテキストです。しかし、UI コントロールを識別するためにキャプションを使用することには、次のような欠点があります。
- キャプションは安定していません。キャプションは開発プロセスの間に頻繁に変更されます。たとえば、AUT の UI が開発プロセスの終わりにレビューされる場合があります。UI が安定していないため、開発プロセスの初期の段階で UI テストを導入することが困難になります。
- キャプションは一意ではありません。たとえば、アプリケーションには OK というキャプションを持つボタンが複数存在する可能性があります。
- 多くのコントロールはキャプションを表示しないため、識別するために、ほかのプロパティを使用する必要があります。
- ローカライズしたアプリケーションのテストにキャプションを使用する場合、各言語ごとにコントロールのキャプションを保守する必要があるため、非常に扱いにくく、さらに言語ごとに適切なキャプションを動的に割り当てることができるように、複雑なスクリプト ロジックを保守する必要があります。