グローバル・スクリプト変数はスクリプトの先頭で宣言する必要があり、 すべてのテスト・エレメントが処理されるまでその数とタイプは分かりません。 これらの変数の名前および他の関連した情報は、 テスト・エレメント・ツリーの処理中に収集され、テスト・モデルのテスト・エレメント の一時属性として保管されます。スクリプト・クラスの作成は、 ScriptDefinition クラスによって遂行され、 別のスクリプト・テンプレートに基づいて行われます。
スクリプト・テンプレートは、 インポートおよびスクリプト・グローバルを宣言します。これには、スクリプトのタイプ固有宣言のパラメーター、およびテスト・エレメントを作成して戻すメソッドのパラメーターが含まれています。
最上位スクリプト・クラスおよびテスト・プロジェクトの作成には、以下のステップが含まれます。
package customcode;
import com.ibm.rational.test.lt.execution.http.IHTTPRequest;
...
public class Google_Test_C240F3CB2D546DE2A9BDE160BDA411D9 extends com.ibm.rational.test.lt.execution.protocol.impl.HTTPTestScript {
//GLOBAL DECLARATIONS
private IBuiltInDataSource bds1 = new
com.ibm.rational.test.lt.kernel.custom.impl.timestampdatasource();
{ builtInDCVars[50] = new BuiltInCorrelationVar(bds1);
builtInDCVars[50].setProperty(1, "16");
builtInDCVars[50].setProperty(2, "16"); }
//TEST CLASS CONSTRUCTOR
public Google_Test_C240F3CB2D546DE2A9BDE160BDA411D9(IContainer container, String
invocationId) {
super(container, "google", invocationId);
setTimeoutScheme(IKTimeoutControl.CONTINUE);
setArmEnabled(false);
public void execute() {
this.add(page_1(this));
...
super.execute();
}
......
//page_1 CREATION METHOD
private HTTPPage page_1(IContainer parent) {
HTTPPage page = new HTTPPage(parent, "Google", .....) {
public void execute() {
this.add(request_1(this);
...
super.execute();
}
.....
};
return page;
}
//request_1 CREATION METHOD
private HTTPAction request_1(IContainer parent) {
HTTPAction reqAction = new HTTPAction(parent, .....);
.....
harvestContainer_16.addHarvestInstruction ("resp_content", dcVars[50], ..);
.....
return reqAction;
}
}