テストにカスタム属性を含める

テストにカスタム属性を含めると、テストをより安定させることができます。 たとえば、Java SWT では、GUI を実装する開発者が silkTestAutomationId のような属性をウィジェットに対して定義することによって、アプリケーション内でそのウィジェットを一意に識別することができます。 これにより、Silk4J を使用するテスト担当者は、その属性(この場合は silkTestAutomationId)をカスタム属性のリストに追加すると、その一意の ID によってコントロールを識別できるようになります。

一意の ID を使用すると、caption や index のような他の属性よりも高い信頼性を得ることができます。これは、caption はアプリケーションを他の言語に翻訳した場合に変更され、index は定義済みのウィジェットより前に他のウィジェットが追加されると変更されるためです。

注: Flex または Windows API ベースのクライアント/サーバー (Win32) アプリケーションには、カスタム属性を設定できません。
カスタム属性をテストに含めるには、作成したテストに直接カスタム属性を含めます。 たとえば、アプリケーション内で、一意の ID 'loginName' が入力されている最初のテキスト ボックスを検索するには、以下のクエリを使用します。
myWindow.find(".//TextField[@silkTestAutomationId='loginName']")
注: 属性名は、大文字小文字が区別されます (モバイル アプリケーションを除く。モバイル アプリケーションでは、大文字小文字は無視されます)。デフォルトで、属性値では大文字と小文字が区別されますが、他のオプションと同様にこのデフォルト設定は変更できます。ロケーター属性は、ワイルドカード ? および * をサポートしています。
たとえば、Web アプリケーションで「bcauid」という属性を追加するには、以下のように入力します。
 <input type='button' bcauid='abc'
value='click me' />
注: 属性名は、大文字小文字が区別されます (モバイル アプリケーションを除く。モバイル アプリケーションでは、大文字小文字は無視されます)。デフォルトで、属性値では大文字と小文字が区別されますが、他のオプションと同様にこのデフォルト設定は変更できます。ロケーター属性は、ワイルドカード ? および * をサポートしています。