UI オートメーションを使ってコントロールを識別するためのロケーター属性

UI オートメーション プロバイダー インターフェイスを実装した Windows ベースのアプリケーションのコントロールに対して、次のロケーター属性がサポートされています。
  • automationId
  • caption
  • className
  • name
  • すべての動的ロケーター属性
注: 属性名は、大文字小文字が区別されます (モバイル アプリケーションを除く。モバイル アプリケーションでは、大文字小文字は無視されます)。デフォルトで、属性値では大文字と小文字が区別されますが、他のオプションと同様にこのデフォルト設定は変更できます。ロケーター属性は、ワイルドカード ? および * をサポートしています。

動的ロケーター属性の詳細については、「動的ロケーター属性」を参照してください。

UI オートメーション プロバイダー インターフェイスを実装した Windows ベースのアプリケーションのコントロールを識別するには、スクリプトで automationIdcaptionclassNamename、またはすべての動的ロケーター属性を使用できます。automationId はアプリケーション開発者が設定します。たとえば、automationId を持つロケーターは、以下のようになります: //UIAButton[@automationId="okButton"]

automationId は一般に非常に有用で安定した属性であるため、使用することを推奨します。

属性の種類 説明
automationId テスト対象アプリケーションの開発者によって設定される識別子。Visual Studio デザイナは、デザイナ上で作成されたすべてのコントロールに自動的に automationId を割り当てます。アプリケーション開発者は、アプリケーションのコード上でコントロールを識別するために、この ID を使用します。 //UIAButton[@automationId="okButton"]
caption コントロールが表示するテキスト。複数の言語にローカライズされたアプリケーションをテストする場合、caption の代わりに automationIdname 属性を使用することを推奨します。 //UIAButton[@caption="Ok"]
className UI オートメーション コントロールのクラス名 (名前空間なし)。className 属性を使用すると、Silk4NET が解決する標準 UI オートメーション コントロールから派生したカスタム コントロールを識別するのに役立ちます。 //UIAButton[@className='MyCustomButton']
name コントロールの名前。テスト対象アプリケーションの開発者によって設定されます。 //UIAButton[@name="okButton"]

Silk4NET は、automationIdnamecaptionclassName 属性を、この表に示した順番に使用して UI オートメーション コントロールのロケーターを記録時に作成します。たとえば、コントロールが automationIdname を持つ場合、automationId を使って固有に識別できれば、Silk4NET によるロケーターの作成に使用されます。

ユーザーの AUT の UI オートメーション コントロールに対して使用できるその他のカスタム属性を確認するには、プロパティの検証 ダイアログ ボックスを使用できます。使用するときは、記録する UI オートメーション コントロール上にマウス カーソルを移動し、Ctrl + Alt をクリックします。これで、コントロールに対して使用できるプロパティを確認できます。たとえば、アプリケーションによっては、属性 value が有効な場合もあります。