動的ロケーター属性の詳細については、「動的ロケーター属性」を参照してください。
WPF スクリプト内のコンポーネントを識別するために、automationId、caption、className、あるいは name を指定できます。 アプリケーション中の要素に指定された name が利用可能な場合、ロケーターの automationId 属性として使用されます。 この結果、多くのオブジェクトは、この属性のみを使用して一意に識別できます。 たとえば、automationId を持つロケーターは、以下のようになります://WPFButton[@automationId='okButton']"
automationId や他の属性を定義した場合、再生中に automationId だけが使用されます。 automationId が定義されていない場合には、コンポーネントを解決するのに name が使用されます。 name も automationId もどちらも定義されていない場合には、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 は、automationId、name、caption、className 属性をこの表に示した順番に使用して WPF コントロールのロケーターを記録時に作成します。 たとえば、コントロールが automationId と name を持つ場合、Silk4J がロケーターを作成する際には automationId が使用されます。
<Button Name="okButton" AutomationProperties.AutomationId="okButton" Click="okButton_Click">Ok</Button>