Java Vuser プロトコル

Java Vuser プロトコルを使用する Java 互換の仮想ユーザ・スクリプトを手動で作成できます。仮想ユーザ・スクリプトは Java コンパイラによってコンパイルされ,Java の標準規約をすべてサポートします。

注: Java スクリプトを使用するには,Java 環境がセットアップされていることを確認してください。詳細については,「Java プロトコル用の環境のセットアップ」を参照してください。

このトピックの内容:

手動で Java のスクリプトを作成する

Java 互換の仮想ユーザ・スクリプトを作成するには,まず新しい Java 仮想ユーザ・プロトコル・スクリプトを作成し,Java コードを挿入します。Java Vuser 関数を追加して,スクリプトを拡張したり,反復時にさまざまな値を使用できるように引数をパラメータ化したりできます。

手動で Java Vuser スクリプトを作成するには,次の手順を実行します。

  1. Java Vuser スクリプトを新規作成します。詳細については,「仮想ユーザ・スクリプトの作成および表示」を参照してください。

  2. スクリプトの Actions クラスにコードを挿入します。このクラスは,スクリプト・テンプレートが開いたときに右側のペインに表示されます。詳細については,「クラスとメソッド」を参照してください。

  3. 追加の API 関数を挿入します。VuGen には,Java Vuser スクリプト用の Java 固有の関数があります。これらの関数はすべて lrapi.lr クラスの静的メソッドです。

    Java API 関数は,いくつかのカテゴリに分類されます。トランザクション,コマンド・ライン解析,情報,文字列,メッセージ,およびランタイム関数。

    個々の関数の詳細については,関数リファレンス(該当するバージョンを選択) を参照してください。Java Vuser スクリプトを新規作成すると,import lrapi.* がスクリプトに自動的に挿入されます。

  4. 追加の Java クラスをスクリプトの先頭にインポートします。また,追加するクラスがスレッドセーフかつスケーラブルであることを確認します。

    import java.io.*; 
    import lrapi.*; 
    public class Actions
    {
    ...
    }
    
  5. [実行環境設定]>[Java 環境]>[クラスパス]で Java クラスにクラスパスを設定します。これらのファイルは参照として使用されますが,スクリプトのフォルダには含まれません。

  6. ランデブー・ポイント,トランザクション,出力メッセージなどの要素でスクリプトを強化します。詳細については,「Java のスクリプトの拡張」を参照してください。

  7. スクリプトを作成したら,VuGen でスタンドアロン・テストとして実行します。Java コンパイラ(javac)は,スクリプトに誤りがないかどうか調べてからコンパイルします。その後,スクリプトをシナリオやパフォーマンス・テストに統合できます。

注: 再生中に追加のファイルが必要な場合は,次のように追加します。[ソリューション エクスプローラ]ペインで,[追加ファイル]ノードを右クリックし,[ファイルをスクリプトに追加]を選択します。ファイルはスクリプトのフォルダにコピーされます。

先頭に戻る

クラスとメソッド

このタイプの仮想ユーザ・スクリプトを使用する場合は,すべてのコードを Actions クラスに配置します。Actions クラスには,initactionend の 3 つのメソッドが含まれています。

import lrapi.*; 
public class Actions
{
    public int init() {
        return 0;
    }
    public int action() {
        return 0;
    }
    public int end() {
        return 0;
    }
}

次の表に,各メソッドに何を含める必要があり,各メソッドがどのタイミングで呼び出されるかを示します。

スクリプトのメソッド
エミュレーション内容
実行のタイミング
「init メソッド」
サーバへのログイン
仮想ユーザが初期化(ロード)されるとき
「action メソッド」
クライアントのアクティビティ
仮想ユーザが「実行中」状態のとき
「end メソッド」
ログオフ処理
仮想ユーザを終了または停止するとき

init メソッド

すべてのログイン手続きと一度だけ行う設定を init メソッドに置きます。init メソッドは,仮想ユーザがスクリプトの実行を開始するときに 1 回だけ実行されます。次のサンプル init メソッドではアプレットを初期化します。

このセクションに org.omg.CORBA.ORB 関数をインポートして,この関数が反復のたびに呼び出されないようにします。

import org.omg.CORBA.*; 
import org.omg.CORBA.ORB.*; 
import lrapi.lr; 
// Public function: init
    public int init() throws Throwable {
    // Initialize Orb instance...
    MApplet mapplet = new MApplet("http://chaos/classes/", null);
    orb = org.omg.CORBA.ORB.init(mapplet, null); 
...

action メソッド

すべての仮想ユーザ・アクションを action メソッドに配置します。action メソッドは,実行環境設定で指定した反復回数に従って実行されます。反復設定の詳細については,「実行環境設定」を参照してください。次のサンプル action メソッドでは,仮想ユーザ ID を取得して出力しています。

 public int action() {
    lr.message("vuser:" + lr.get_vuser_id() + " xxx");
         return 0; 
   }

end メソッド

end メソッドには,サーバからのログオフや環境の後始末など,スクリプトの終了時に仮想ユーザに実行させるコードを配置します。

end メソッドは,仮想ユーザがスクリプトの実行を終了するときに 1 回だけ実行されます。次の例に示す end メソッドでは「End」というメッセージを実行ログに出力しています。

 public int end() {
        lr.message("End"); 
        return 0; 
    }

Java Vuser スクリプトは,スケーラブルなマルチ・スレッド・アプリケーションとして稼動します。スクリプトにユーザ定義のクラスを含める場合は,コードをスレッドセーフにする必要があります。詳細については,「Java プロトコルのプログラミングに関するヒント」を参照してください。

先頭に戻る

関連項目: