C 仮想ユーザ・プロトコル

C 仮想ユーザ・スクリプトでは,標準 ANSI 規格の C 言語のコードを使用して,手動で独自のスクリプトをプログラミングします。

このトピックの内容:

C 仮想ユーザ・スクリプトの作成

空の C 仮想ユーザ・スクリプトを作成するには,[新規スクリプトの作成]ダイアログ・ボックスで[C Vuser]を選択します。VuGen によって,空の C 仮想ユーザ・スクリプトが作成されます。

Action1()
{
    return 0; 
}

C 言語の関数を使用するタイプの仮想ユーザ・スクリプトであれば,どのスクリプトでも C 仮想ユーザ関数を使用できます。

よく使用される C 関数の構文や使用例を含む C 言語リファレンスについては,関数リファレンス(該当するバージョンを選択)を参照してください。

先頭に戻る

C 言語の関数の使用についてのガイドライン

制御フローや構文など,標準 ANSI-C の規約はすべて,C 仮想ユーザ・スクリプトにも適用されます。ほかの C 言語のプログラムと同じように,スクリプトでもコメント文や条件文が利用できます。ANSI-C の規約に従って変数を宣言して定義できます。

仮想ユーザ・スクリプトの実行に使用される C インタプリタは,標準の ANSI C 言語を受け付けます。ANSI-C の Microsoft 拡張はサポートしていません。

C 言語関数を仮想ユーザ・スクリプトに追加するときは,次の制限に注意してください。

  • 仮想ユーザ・スクリプトでは,関数のアドレスをコールバックとしてライブラリ関数に渡すことはできません。

  • stdargslongjmp,および alloca 関数は仮想ユーザ・スクリプトではサポートされていません。

  • 仮想ユーザ・スクリプトには,構造体引数や共用体引数,または戻り値の型はありません。構造体へのポインタはサポートされています。

  • 仮想ユーザ・スクリプト内のリテラル文字列は読み取り専用です。リテラル文字列に書き込もうとするとアクセス違反が起こります。

  • int を返さない C 関数は型変換を行う必要があります。次に例を示します。
    extern char * strtok();

先頭に戻る

Windows C ランタイム・ライブラリ(libc)関数の呼び出し

仮想ユーザ・スクリプトでは,Windows C ランタイム・ライブラリ(libc)関数を呼び出すことができます。ただし,仮想ユーザ・スクリプトの実行で使われているインタプリタが ANSI C の Microsoft 社による拡張をサポートしていないため,Microsoft 社のインクルード・ファイルを使うことはできません。代わりに,<LoadRunner ルート・フォルダ>\include フォルダにあるヘッダ・ファイルを使用してください。

先頭に戻る

リンク・モード

仮想ユーザ・スクリプトの実行に使用する C インタプリタでは,使用前に関数を定義しておくかぎりは実行開始時に定義する必要がないようにするために,「遅延」リンク・モードを使用します。次に例を示します。

lr_load_dll("mydll.dll");
    myfun();  /* defined in mydll.dll -- can be called directly, 
                immediately after mydll.dll is loaded.*/
先頭に戻る

関連項目: