Silverlight コントロールを識別するためのロケーター属性

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

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

Silverlight スクリプト内のコンポーネントを識別するために、automationIdcaptionclassNamename、または任意の動的ロケーター属性を指定できます。 automationId はアプリケーション開発者が設定します。 たとえば、automationId を持つロケーターは、以下のようになります://SLButton[@automationId="okButton"]

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

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

Silk Test Workbench は、automationIdnamecaptionclassName 属性をこの表に示した順番に使用して Silverlight コントロールのロケーターを記録時に作成します。 たとえば、コントロールが automationIdname を持つ場合、automationId が固有の場合は Silk Test Workbench がロケーターを作成する際に使用されます。

以下の表は、アプリケーション開発者がテキスト「Ok」を持つ Silverlight ボタンをアプリケーションの XAML コードに定義する方法を示しています。
オブジェクトの XAML コード Silk Test からオブジェクトを検索するためのロケーター
<Button>Ok</Button> //SLButton[@caption="Ok"]
<Button Name="okButton">Ok</Button> //SLButton[@automationId="okButton"]
<Button AutomationProperties.AutomationId="okButton">Ok</Button> //SLButton[@automationId="okButton"]
<Button AutomationProperties.Name="okButton">Ok</Button> //SLButton[@name="okButton"]