オートメーション サポートを使用したカスタム コントロールのテスト

カスタム コントロールに対して、特定のオートメーション サポートを作成できます。この追加のオートメーション サポートによって、記録のサポートおよびより強力な再生のサポートが提供されます。オートメーション サポートを作成するには、テスト アプリケーションを変更し、Open Agent を拡張する必要があります。

Silk4J でカスタム コントロールをテストする前に、以下のステップを実行します。
  • テスト アプリケーションでのカスタム コントロールの定義
  • オートメーション サポートの実装

テスト アプリケーションを変更してオートメーション サポートを組み込んだあと、以下のステップを実行します。

  1. テスト内のカスタム コントロールをテストするために、カスタム コントロールの Java クラスを作成します。 たとえば、Spinner コントロール クラスは、以下の内容を含んでいる必要があります。
    package customcontrols;
    
    import com.borland.silktest.jtf.Desktop;
    import com.borland.silktest.jtf.common.JtfObjectHandle;
    import com.borland.silktest.jtf.flex.FlexBox;
    
    /**
     * Implementation of the FlexSpinner Custom Control.
     */
    public class FlexSpinner extends FlexBox {
    
      protected FlexSpinner(JtfObjectHandle handle, Desktop desktop) {
        super(handle, desktop);
      }
    
      @Override
      protected String getCustomTypeName() {
        return "FlexSpinner";
      }
    
      public Integer getLowerBound() {
        return (Integer) getProperty("lowerBound");
      }
    
      public Integer getUpperBound() {
        return (Integer) getProperty("upperBound");
      }
    
      public Integer getValue() {
        return (Integer) getProperty("Value");
      }
    
      public void setValue(Integer Value) {
        setProperty("Value", Value);
      }
    
      public Integer getStepSize() {
        return (Integer) getProperty("stepSize");
      }
    
      public void increment(Integer steps) {
        invoke("Increment", steps);
      }
    
      public void decrement(Integer steps) {
        invoke("Decrement", steps);
      }
    
    }
    
  2. この Java クラスをテストが含まれている Silk4J テスト プロジェクトに追加します。
    ヒント: 同じカスタム コントロールを複数の Silk4J プロジェクトで使用する場合は、カスタム コントロールを含む別個のプロジェクトを作成し、Silk4J テスト プロジェクトからそれを参照することをお勧めします。
  3. <Silk Test のインストール ディレクトリ>\ng\agent\plugins\com.borland.silktest.jtf.agent.customcontrols_<バージョン>\config\classMapping.properties ファイルに以下の行を追加します。
    FlexSpinner=customcontrols.FlexSpinner
    等号記号の左側のコードは、XML ファイルに定義されているカスタム コントロール名である必要があります。等号記号の右側のコードは、カスタム コントロールの Java クラスの完全修飾名である必要があります。 これで、Silk4J でカスタム コントロールを使用する場合に、記録および再生が完全にサポートされるようになりました。

以下の例は、オートメーションの委譲に実装されている「Increment」メソッドを使用して、Spinner の値を 3 つ増分する方法を示しています。
desktop.<FlexSpinner>find("//FlexSpinner[@caption='index:1']").increment(3);
以下の例は、Spinner の値を 3 に設定する方法を示しています。
desktop.<FlexSpinner>find("//FlexSpinner[@caption='index:1']").setValue(3);