Windows Presentation Foundation (WPF) アプリケーションの属性

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

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

オブジェクト解決

WPF スクリプト内のコンポーネントを識別するために、automationIdcaptionclassName、あるいは name を指定できます。 アプリケーション中の要素に指定された name が利用可能な場合、ロケーターの automationId 属性として使用されます。 この結果、多くのオブジェクトは、この属性のみを使用して一意に識別できます。 たとえば、automationId を持つロケーターは、以下のようになります://WPFButton[@automationId='okButton']"

automationId や他の属性を定義した場合、再生中に automationId だけが使用されます。 automationId が定義されていない場合には、コンポーネントを解決するのに name が使用されます。 nameautomationId もどちらも定義されていない場合には、caption 値が使用されます。 caption が定義されていない場合は、className が使用されます。 automationId は非常に役立つプロパティであるため、使用することを推奨します。

属性の種類 説明
automationId

テスト アプリケーションの開発者によって提供された ID

//WPFButton[@automationId='okButton']"
name コントロールの名前。 Visual Studio デザイナは、デザイナ上で作成されたすべてのコントロールに自動的に名前を割り当てます。 アプリケーション開発者は、アプリケーションのコード上でコントロールを識別するために、この名前を使用します。
//WPFButton[@name='okButton']"
caption

コントロールが表示するテキスト。 複数の言語にローカライズされたアプリケーションをテストする場合、caption の代わりに automationId や name 属性を使用することを推奨します。

//WPFButton[@automationId='Ok']"
className

WPF の .NET 単純クラス名 (名前空間なし)。 クラス名属性を使用すると、Silk4J が解決する標準 WPF コントロールから派生したカスタム コントロールを識別するのに役立ちます。

//WPFButton[@className='MyCustomButton']"

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

以下の例では、アプリケーション開発者がアプリケーションの WPF ボタンに対して nameautomationId を XAML コードに定義する方法を示します。
<Button Name="okButton" AutomationProperties.AutomationId="okButton"
Click="okButton_Click">Ok</Button>