JavaScript Web HTTP スクリプト
Web HTTP/HTML 仮想ユーザ・スクリプトは JavaScript で記録できます。C 言語スクリプトを再生成し,それを JavaScript に変換することもできます。
記録して JavaScript に変換するために,VuGen は Chrome の V8 JavaScript エンジンを使用します。このエンジンは ECMAScript 2022 言語仕様をサポートしています。
JavaScript 仮想ユーザ・スクリプトは,非同期的な動作と機能をサポートします。詳細については,「非同期仮想ユーザ・スクリプトを作成する」 を参照してください。
JavaScript 仮想ユーザ・スクリプトは,仮想ユーザ・テーブル(VTS)をサポートします。詳細については,「VTS とパラメータ化」を参照してください。
スクリプトの実行速度を上げるために,JavaScript のデバッグを[実行環境設定]>[基本設定]>[JavaScript]で無効にすることができます。
このトピックの内容:
JavaScript での仮想ユーザ・スクリプトの記録
Web HTTP/HTML 仮想ユーザ・スクリプトの作成では,JavaScript でスクリプトを生成するオプションを選択できます。このメッセージを無効にする方法は,「[一般]オプション・タブ」を参照してください。
JavaScript でスクリプトを記録するには,次の手順を実行します。
- [記録]>[記録オプション]をクリックします。左の[一般]メニューで[スクリプト]を選択します。
-
[スクリプト言語]ドロップダウン・リストで[JavaScript]を選択します。
- [OK]をクリックします。
スクリプトを記録したら,標準設定の C ファイルが JS ファイルに置き換えられます。
注: スクリプトの記録が始まると,[記録オプション]ダイアログ・ボックスの言語オプションは無効になり,変更できなくなります。スクリプトの言語を,スクリプトを記録した後で変更するには,スクリプトを再生成するしかありません。
C スクリプトから JavaScript への変換
C スクリプトから JavaScript への変換は,記録されたスクリプトを再生成して行います。ユーザがコードを作成したスクリプトは変換できません。
注意: VuGen のコードを再生成すると,記録したスクリプトに手動で行った変更内容はすべて上書きされます。再生成の対象は,記録された関数のみです。
C スクリプトから JavaScript を再生成するには,次の手順を実行します。
-
または[記録]>[スクリプトの再生成]をクリックします。変更内容の上書きに関する警告メッセージが表示されます。
- [オプション]をクリックします。[オプションの再生成]ダイアログ・ボックスが開きます。
- [スクリプト]セクションで,変換後の言語としてターゲット言語を選択します。
- [オプションの再生成]ダイアログ・ボックスで[OK]をクリックします。[OK]をクリックすると,コードの再生成が始まります。
JavaScript 関数ライブラリ
ネイティブの LoadRunner Professional JavaScript ライブラリには,文字列関数,データベース接続関数,XML 関数などが含まれます。ネイティブのライブラリ関数は,次の 4 つのグローバル・オブジェクトから利用できます。
- web:Web/HTTP プロトコル API
- lr:LoadRunner Professional ネイティブ API
- vtc:VTC 複数接続 API
- lrvtc:VTC 単一接続 API
カスタム・ライブラリ
LoadRunner Professional の標準関数に加えて,ユーザが JavaScript 関数ライブラリを作成したり,underscore,lodash,moment などの JavaScript 言語ライブラリを使用することもできます。
カスタム関数を呼び出すには,その前にカスタム・ライブラリを「追加ファイル」セクションに追加します。カスタム・ライブラリの拡張子は 'js' であることが必要です。
ライブラリでオート・コンプリートを有効にするには,js ファイル名を右クリックして[解析リストに追加]を選択します。
注: 別の言語でスクリプトを再生成する場合,ユーザ定義の .js ファイルなどの追加ファイルは解析リストから除外されます。
外部ライブラリ
さらに,lr.require 関数と lr.loadLibrary 関数を使用することで,JavaScript ファイルを実行時にインポートできます。サードパーティのライブラリは,MS-Windows やドキュメント・オブジェクト・ベースでないライブラリのためにサポートされています。したがって,Promise ライブラリなどの,非同期関数および非同期ライブラリはサポートされていません。
lr.loadLibrary は,1 つのファイルをスクリプトに「インクルード」するために使用します。コードが評価され,その定義が実行時コンテキストのグローバル・スコープに追加されます。例:lr. loadLibrary (‘external.js’);
。lr.loadLibrary は,ブラウザ・ベースのライブラリに使用できます。
lr.require は,CommonJS ファイルまたは NPM モジュールを文字列にロードし,それを関数でラップして評価します。追加の必須ファイルは,「require」リンクに従って再帰的にロードされます。
例: var lodash = lr.require("..\\node_modules\\lodash");
var sum = lodash.sum([1,2,3,4]);
関連項目:
- 「VuGen JavaScript エンジンの使用」
- 「デバッグ」
- 関数リファレンス(該当するバージョンを選択)の JavaScript の項