安定したロケーターを作成する

Silk4J の主要なメリットのひとつが、柔軟で強力なオブジェクト解決の仕組みです。UI コントロールを特定するために XPath 記法を使用することによって、UI コントロールが適切な属性を持っていない場合でも、適切な属性を持つ対象要素のそばにある限り、Silk4J は確実に識別できます。Silk4J の XPath ロケーターは、UI コントロールを識別するために、UI コントロールの階層全体を使用することもできれば、その一部を使用することもできます。特に最近の AJAX ツールキットは、とても複雑なドキュメント オブジェクト モデル (DOM) を動的に生成するので、UI コントロールを特定するために使用できる適切なコントロール属性を提供しません。

このような場合、インテリジェントなオブジェクト解決の仕組みを提供しないテスト ツールでは、UI コントロールを識別するために、ほとんどの場合インデックス ベースの解決方法を使用することが必要になります。たとえば、展開 アイコンの n 番目のコントロールを識別します。このようなテスト スクリプトは保守することが容易でなく、アプリケーションにほんのわずかな変更を加えるだけでテスト スクリプトが動作しなくなってしまうことが良くあります。

有用な属性を提供しない UI コントロールに対して安定したロケーターを作成する良い方法は、階層の中で安定したロケーターを持つアンカー要素を見つけることです。そして、そのアンカー要素からロケーターを作成したい要素まで辿っていくことができます。

Silk4J は、この方法を使用してロケーターを作成しますが、ときにはコントロールからの安定したロケーターを手動で作成することが必要となる場合もあります。