カスタム コントロールに対して、特定のオートメーション サポートを作成できます。この追加のオートメーション サポートによって、記録のサポートおよびより強力な再生のサポートが提供されます。オートメーション サポートを作成するには、テスト アプリケーションを変更し、Open Agent を拡張する必要があります。
テスト アプリケーションを変更してオートメーション サポートを組み込んだあと、以下のステップを実行します。
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); } }
FlexSpinner=customcontrols.FlexSpinner等号記号の左側のコードは、XML ファイルに定義されているカスタム コントロール名である必要があります。等号記号の右側のコードは、カスタム コントロールの Java クラスの完全修飾名である必要があります。 これで、Silk4J でカスタム コントロールを使用する場合に、記録および再生が完全にサポートされるようになりました。
desktop.<FlexSpinner>find("//FlexSpinner[@caption='index:1']").increment(3);
desktop.<FlexSpinner>find("//FlexSpinner[@caption='index:1']").setValue(3);