Silk4J では、Apache Flex カスタム コントロールのテストがサポートされています。ただし、デフォルトでは、Silk4J は、カスタム コントロールの個別のサブコントロールを記録および再生することはできません。
カスタム コントロールをテストする場合、以下のオプションが存在します。
- 基本サポート
基本サポートでは、動的呼び出しを使用して、再生中にカスタム コントロールと対話します。作業量が少なく済むこのアプローチは、テスト アプリケーションにおいて、Silk4J が公開しないカスタム コントロールのプロパティおよびメソッドにアクセスする場合に使用します。カスタム コントロールの開発者は、コントロールのテストを容易にすることのみを目的としたメソッドおよびプロパティをカスタム コントロールに追加することもできます。ユーザーは、動的呼び出し機能を使用してこれらのメソッドやプロパティを呼び出すことができます。
基本サポートには以下のような利点があります。
- 動的呼び出しでは、テスト アプリケーションのコードを変更する必要がありません。
- 動的呼び出しを使用することによって、ほとんどのテストのニーズを満たすことができます。
基本サポートには以下のような短所があります。
- ロケーターには、具体的なクラス名が組み込まれません (たとえば、Silk4J では「//FlexSpinner」ではなく「//FlexBox」と記録されます)。
- 記録のサポートが限定されます。
- Silk4J では、イベントを再生できません。
例を含む動的呼び出しの詳細については、「Apache Flex メソッドの動的呼び出し」を参照してください。
- 高度なサポート
高度なサポートでは、カスタム コントロールに対して、特定のオートメーション サポートを作成できます。この追加のオートメーション サポートによって、記録のサポートおよびより強力な再生のサポートが提供されます。高度なサポートには以下のような利点があります。
- イベントの記録と再生を含む、高レベルの記録および再生のサポートが提供されます。
- Silk4J では、カスタム コントロールが他のすべての組み込み Apache Flex コントロールと同様に処理されます。
- Silk4J API とシームレスに統合できます。
- Silk4J では、ロケーターで具体的なクラス名が使用されます (たとえば、Silk4J では「//FlexSpinner」と記録されます)。
高度なサポートには以下のような短所があります。
- 実装作業が必要です。テスト アプリケーションを変更し、Open Agent を拡張する必要があります。