Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SOAVIRT_9.10.8_CTP_3.1.4

...

Table of Contents
maxLevel1

カスタム スクリプト/Extension Tool とは

Extenstion Tool は、カスタム オペレーションを単独で実装することも、テスト スイートまたはレスポンダー スイートに連結して実装することもできます。 この追加機能性は、   SOAtest および Virtualize をユーザーの特定のニーズに合わせてカスタマイズすることを可能にします。実装するオペレーションは、ユーザーが使用しているスクリプト言語の機能にだけ制限されます。 

...

<Virtualize_Installation_Directory>/plugins/com.parasoft.xtest.libs.web_<virtualize_version>/root/startup

カスタム スクリプト/Extension Tool の作成

次の手順では、ツールバーに Extension Tool を追加する方法について説明します。また、テスト スイートに Extension Tool を追加し、Extension parameters panel に同じパラメーターを入力することで、カスタム メソッドを作成することも可能です。

SOAtest または Virtualize にカスタム スクリプト/Extension Tool を追加するには、次の操作を行います。

  1. Extension Tool を追加します。「エンド ツー エンド テスト シナリオEnd-to-end Test Scenarios」で紹介するいずれかの方法を使用します。

  2. Extension Tool のノードを テストケース エクスプローラーまたは仮想アセット エクスプローラーでダブルクリックします。右側にツールのコンフィギュレーション パネルが表示されます。

  3. [名前] フィールドにメソッド名を入力します。
  4. ツールの戻り値がツールの成功を表す場合、[成否を表す終了コード] チェックボックスをオンにします。このチェックボックスがオフの場合、ツールの成否にかかわらず、 メソッドの戻り値を無視します。

  5. [言語] ドロップダウンリストからメソッドが書かれている言語を指定します。
  6. 大きなテキストフィールドに実装するスクリプトを定義します。
    • Java メソッドの場合、[クラス] フィールドに適切なクラスを指定します。選択したクラスはクラスパスに追加されている必要があります。[クラスパスの変更] リンクをクリックし、表示される設定画面で追加できます。Java ファイルの修正やコンパイルの後にクラスをリロードする場合は、 [クラスのリロード] をクリックします。
    • その他のスクリプトの場合は、既存のファイルをメソッドのソース コードとして使用できます。

      • 既存のファイルを使用するには、[ファイル] ラジオ ボタンを選択し、[参照] ボタンをクリックします。ファイル選択ダイアログでファイルを選択して [OK] をクリックし、選択を確定します。
      • Load Test 内で新しくメソッドを作成するには、[テキスト] ラジオ ボタンを選択し、入力やカット&ペーストを行ってテキスト ウィンドウにコードを入力します。

      • スクリプトが正しく実行可能であるかどうかを確認するには、スクリプトの指定方法に応じて [ファイル] または [テキスト] フィールドを右クリックし、ショートカット メニューの [評価] をクリックします。検出された問題がレポートされます。

  7. [評価] をクリックして、スクリプトがシンタックス エラーを含んでおらず、実行可能であることを確認します。
  8. [エラー メッセージ] フィールドに、ツールが失敗した場合にレポートされるエラー メッセージを指定します。
  9. パネルの下部にある [メソッド] ボックスから、適切な引数を選択します。このリストは、スクリプト内の定義から構成されます。スクリプトには複数の引数を含めることができるため、このメソッドで使用する引数を選択できます。
Info
title スクリプトでの変数の使用

${} 形式の変数 (たとえば ${value} など ) を含むコンテンツをスクリプトが返す場合、連結された出力ツールがコンテンツを処理する前に、そのような変数は処理されます。変数が処理されるのを防ぎたい場合は、必ずスクリプト中で変数をエスケープしてください。

たとえば、元のスクリプトが以下の内容であるものとします。

Code Block
def handler(input, context) {
	    def output = '{ "field": "${value}" }';
    	com.parasoft.api.Application.showMessage(output);     
		return output;
}

${value} が処理されるのを防ぐには、スクリプトを次のように変更します。

Code Block
def handler(input, context) {
    def output = '{ "field": "${value}" }';
    output = output.replace('${', '\\${');
    com.parasoft.api.Application.showMessage(output);     
	return output
}

その他のスクリプトに関するリソース

スクリプト機能に関連する課題の概要とさまざまなアプリケーションについては、「スクリプトを使用した拡張機能の基礎Extensibility or Scripting Basics」を参照してください。「スクリプトによる SOAtest の拡張」では、カスタム スクリプトの適用方法をステップバイ ステップで説明しています。

...