Web アプリケーションのカスタム属性

HTML は、安定した識別子を表すことができる一般的な属性 ID を定義します。定義により、ID は文書内の要素を一意に識別します。特定の ID を持つ要素は文書内で 1 つだけ存在します。

ただし、多くの場合 (特に AJAX アプリケーションでは)、ID は HTML 要素に関連付けられたサーバー ハンドラを動的に識別するために使用されます。つまり、Web 文書の作成のたびに ID は変わることになります。このような場合、ID は安定した識別子ではなく、Web アプリケーションの UI コントロールを識別するのに適しません。

Web アプリケーションの場合、より確実にするには、Silk4NET に UI コントロールの情報を公開するためだけに使用されるカスタム HTML 属性を新たに導入することです。

カスタム HTML 属性はブラウザーは無視するため、AUT の動作は変わりません。ブラウザーの DOM を通してアクセスすることができます。Silk4NET では、このような属性を (属性がコントロール クラスのカスタム 属性であっても) 識別時のデフォルト属性として使用するように設定することができます。特定のテクノロジ ドメインのデフォルト識別属性としてカスタム属性を設定するには、Silk4NET > オプションの編集 > カスタム属性 をクリックして、テクノロジ ドメインを選択します。

例:変化する ID

アプリケーション開発者は、Web 要素にさらに HTML 属性を追加することが必要です。

元の HTML コード:
<A HREF="http://abc.com/control=4543772788784322..." <IMG
src="http://abc.com/xxx.gif" width=16 height=16> </A>
新しいカスタム HTML 属性 AUTOMATION_ID を持つ HTML コード:
<A HREF="http://abc.com/control=4543772788784322..."
AUTOMATION_ID = "AID_Login" <IMG src="http://abc.com/xxx.gif"
width=16 height=16> </A>
カスタム属性を設定すると、Silk4NET は、できる限りカスタム属性を使用して、一意のロケーターを構成しようとします。Web ロケーターは次のようになります。
…//DomLink[@AUTOMATION_ID='AID_Login'
変化する ID の 1 例は、Google Widget Toolkit (GWT) で、ID は Web 文書の作成のたびに変化する動的な値を保持します:
ID = 'gwt-uid-<nnn>'
この場合、<nnn> が頻繁に変化します。