複数のプロジェクトでの資産の使用

Silk4J では、イメージ資産、イメージ検証、およびオブジェクト マップが資産と呼ばれます。資産が配置されているプロジェクトのスコープ外でそれらの資産を使用する場合、資産を使用するプロジェクトから、資産を配置するプロジェクトに、プロジェクトの直接的な依存関係を追加する必要があります。Eclipse からテストを再生する場合、すべての依存プロジェクトがテストを実行するクラスパスに追加されます。このため、Silk4J は依存プロジェクトの資産も見つけることができます。

再生中に資産が使用されると、Silk4J は、最初に現在のプロジェクト内でその資産を検索します。現在のプロジェクトは、現在実行されるテスト コードを含んだ JAR ファイルです。Silk4J で現在のプロジェクト内に資産が検出されなかった場合、Silk4J は現在のプロジェクトがプロジェクト クラスパス内のすべての他のプロジェクトを持つプロジェクトを追加検索します。それでも資産が見つからない場合、Silk4J はエラーをスローします。

複数のプロジェクトに同じ名前の資産が存在する場合に、現在のプロジェクトに含まれている資産を使用しないときは、資産を使用するメソッドで使用する特定の資産を定義できます。使用する資産を定義するには、メソッドを呼び出すときに、資産の名前空間を接頭辞として資産名に追加します。資産の名前空間は、デフォルトでプロジェクト名に設定されます。

注: Silk4J での作業を開始すると、資産の名前空間オプションが、前のバージョンの Silk4J で作成されたワークスペースにある各 Silk4Jsilk4j.settings ファイルに追加されます。

例:プロジェクトの依存関係の追加

プロジェクト ProjectA にコード
window.imageClick("imageAsset");
を呼び出すテストが含まれており、イメージ資産 imageAsset がプロジェクト ProjectB に置かれている場合、プロジェクトの直接的な依存関係ProjectA から ProjectB に追加する必要があります。

Eclipse にプロジェクト依存関係を追加するには、プロジェクトを右クリックし、プロパティを選択します。Java のビルド・パス を選択い、プロジェクト タブをクリックして、ここにプロジェクトを追加します。

注: プロジェクト参照Java のビルド・パス の代わりに設定しても機能しません。

例:特定の資産の呼び出し

ProjectAProjectB の両方に anotherImageAsset という名前のイメージ資産が含まれている場合に、ProjectB からイメージ資産を明示的にクリックする場合、次のコードを使用します:
window.imageClick("ProjectB:anotherImageAsset")