ヘッダーをスキップ

Oracle® Functional Testing OpenScriptユーザーズ・ガイド バージョン9.20 B62630-01 |
| 目次 | 索引

戻る | 次へ |

# 8 Oracle EBS/Forms負荷テスト・モジュールの使用

この章では、OpenScript Oracle EBS/Forms負荷テスト・モジュールの設定および使用手順について説明します。これは、Oracle EBS/Forms Webアプリケーションの負荷テストをサポートするモジュールです。

## 8.1 Oracle EBS/Forms負荷テスト・モジュールについて

Oracle EBS/Forms負荷テスト・モジュールは、Oracle EBS/Forms負荷テストの記録機能および再生機能を提供し、Webテストを拡張するOpenScript HTTPモジュールの拡張モジュールです。Oracle EBS/Forms負荷テスト・モジュールは、結果ビュー、詳細ビュー、プロパティ・ビュー、コンソール/問題ビュー、詳細設定、ステップ・グループ、スクリプト・マネージャおよびワークスペース・マネージャなどのOpenScriptプラットフォームと完全に統合されています。

Oracle EBS/Forms負荷テスト・レコーダによって、ツリー・ビューにわかりやすい形でコマンドが表示されます。デフォルトでは、スクリプト・コマンドが、実行されたWebページごとにステップ・グループに分類されます。各ステップ・グループには、ページで実行されて記録されたアクションに対応する1つ以上のスクリプト・コマンドが含まれています。ステップ・グループのデフォルト名は、Webページのタイトル（Titleタグで指定されています）です。

OpenScriptによって、Oracle EBS/Forms負荷テスト・スクリプトの再生結果が結果ビューに表示されます。結果ビューには各スクリプト・コマンドの結果が表示されます（経過時間や失敗のサマリーを含む）。結果レポートは同じ情報をHTMLフォーマットの結果レポートにコンパイルします。結果をOpenScript GUIから標準フォーマット（CSV / HTML）でエクスポートすることもできます。また、コマンドラインを通じた自動再生によっても結果は生成されます。

Oracle EBS/Forms負荷テスト・モジュールAPIには、追加のプログラミング機能を提供するncaクラスが含まれています。

### 8.1.1 Oracle EBS/Forms負荷テスト・モジュールの主な機能

- Oracle EBS/Forms負荷テスト・スクリプト・モジュール。新規プロジェクト・ウィザード（「ファイル」メニューから「新規」を選択）の負荷テスト・グループには、「Oracle EBS/Forms」オプションがあります。これは、OpenScriptでOracle EBS/Forms負荷テスト・プロジェクトを作成する際に使用します。Oracle EBS/Forms負荷テスト・スクリプト・モジュールでは、プロトコル・レベルでOracle EBS/Formsアプリケーションを記録します。OpenScriptでは、HTTPリクエストおよびPOSTデータまたは問合せ文字列に基づいてユーザー・アクションを取得し、OpenScriptスクリプトに記録します。

- 相関ルール・ライブラリ。Oracle EBS/Forms負荷テスト・モジュールには、スクリプトのパラメータ化に関するOracle EBS/Forms固有の相関ルールのライブラリが含まれています。

- テスト・ケース（検証）。Oracle EBS/Forms負荷テスト・モジュールには、再生時にOracle EBS/Formsアプリケーションのコンテンツを検証するためのステータス・バー・テストが含まれています。

- Oracle EBS/Forms固有のAPI（アプリケーション・プログラミング・インタフェース）。Oracle EBS/Forms負荷テスト・モジュールには、Oracle EBS/Forms固有スクリプトをカスタマイズする際に使用するOracle EBS/Forms負荷テスト・モジュールのAPI仕様が含まれています。

### 8.1.2 前提条件

Oracle EBS/Forms負荷テスト・モジュール・レコーダには、次の前提条件があります。

- Forms機能テスト・モジュールでスクリプトの記録を行う前に、少なくとも一度はForms/EBSアプリケーションを実行してから、そのマシン上でOpenScriptを使用してスクリプトの記録を試行する必要があります。これにより、必要なJRE/Jinitiatorがインストールされていることを確認し、Formsアプリケーションをマシン上で正常に実行できることをInternet Explorerで検証できます。

- すべてのインストール済JVMに対してコントロールパネルのプロキシで「ブラウザの設定を使用」（選択）を設定する必要があります。Javaのバージョンによって「ブラウザの設定を使用」は次のいずれかの場所にあります。

  - 「コントロール パネル」→「JInitiator/Sun Java」を選択→「プロキシ」タブ

    または

  - 「コントロール パネル」→「Java」を選択→「基本」タブ→「ネットワーク設定」

- Oracle Load TestingグラフでForms End-User Performance Monitoring（EUM）メトリックをレポートする場合には、監視対象のEBS R12システムでEnd User Monitoringメトリックを有効にする必要があります。EBSのOAM設定ページに移動し、EBSのappsweb.cfgファイルで目的の設定セクションに次の2つのパラメータを追加してください。

  - `EndUserMonitoringEnabled`: trueに設定してChronosロギングを有効にします。デフォルト値はNULLです。

  - `EndUserMonitoringURL`: Oracle Applications Web Serverに関連付けられているWebリスナーのURLのデフォルト値を指定します。この値は、別のマシン上にあるWebCacheまたはHTTP Serverインスタンスを指す代替のURLに修正することができます。

    サンプルのURLフォーマット:

        http://<hostname>:<portnumber>/oracle_smp_chronos/oracle_smp_chronos_sdk.gif.

  詳細は、『Oracle Real User Experience Insight Oracle E-Business Suiteアクセラレータ・ガイド』でインストールと構成に関する項を参照してください。

  注意:

  値が報告されるのは、FormsサーバーでEUMメトリックが有効な場合のみです。

  Oracle Load Testingで値が報告されるのは、Oracle Load Testingスクリプトのシナリオ詳細設定ですべてのリソースにタイマーを生成をTRUEに設定している場合のみです。

  値は、Oracle Load Testingグラフに対してのみ報告されます。Oracle Load Testingのセッション・レポートには現れません。

## 8.2 Oracle EBS/Forms負荷テストの記録

Oracle EBS/Forms負荷テスト・モジュールでは、Sun JREで実行されているOracle E-Business Suiteリリース12（Forms 10g）およびE-Business Suiteリリース11i（Forms 6i）の標準のOracle EBS/Formsコンポーネントを記録します。レコーダでは、Oracle EBS/Formsアプリケーションのテストを自動化するための負荷テストのスクリプトを作成します。

Oracle EBS/Formsはアプレットベースのコントロールであり、Oracle EBS/Forms負荷テスト・モジュールは、コントロール間の通信を記録するためのOpenScriptのオブジェクトまたは属性の情報を提供します。アクションは、OpenScriptのncaコマンドとして、テスト・スクリプト内で取得されます。その他のコンポーネントは、標準のOpenScriptのhttpナビゲーション・コマンドとして取得される標準のWebコントロールです。相関ルールは、新規スクリプトの設定を使用して変更できます。Oracle EBS/Forms負荷テスト・モジュールではFirefoxをサポートしていないため、記録の構成ができるのはInternet Explorerのみです。

Oracle EBS/Forms負荷テスト・モジュールには記録ツールバー・ボタンがあり、ユーザーはこれを使用してOracle EBS/Formsレコーダを開始し、Web/Oracle EBS/Formsページ・アクションをスクリプト・ビューに取得することができます。記録ツールバーには、記録の開始および停止のツールバー・ボタンがあります。OpenScriptレコーダでは、記録中にブラウザとOpenScriptを切り替えることなく使用できるフローティング・ツールバーも開きます。

Oracle EBS/Formsスクリプトを記録する場合は、通信のタイプを決定することが重要です。Oracle EBS/Formsクライアントでは、次のモードを使用してサーバーと通信できます。

- ソケット・モード: サーバーとクライアント間で交わされるすべての通信がソケット・レベルで実行されます。つまり、サーバーとクライアント間で発生するトランザクションはプロキシ・レコーダで取得されません。

- HTTPモード: すべての通信はHTTPプロトコル上で発生し、プロキシ・レコーダとOracle EBS/Forms負荷テスト・モジュールの両方で取得されます。HTTPリクエストの重複はOracle EBS/Forms負荷テスト・モジュールによってフィルタリングされ、メッセージ・ログには、プロキシ・レコーダではなくOracle EBS/Forms負荷テスト・モジュールで取得されたリクエストのみが保存されます。

- HTTPSモード: このモードの通信はHTTPの通信に類似していますが、通信がSSLを使用してポート443のHTTPプロトコル上で行われる点が異なります。

### 8.2.1 Oracle EBS/Forms負荷テストの記録詳細設定の設定

Oracle EBS/Forms負荷テストの記録詳細設定を設定するには、次のようにします。

1. OpenScriptを起動します。

2. 「ビュー」メニューから「OpenScript 詳細設定」を選択します。

3. 「OpenScript」ノード配下の「記録」カテゴリを開きます。

4. Oracle EBS/Forms負荷テストを選択します。

5. モード・パラメータを次のように設定します。

   モード: Formsメッセージの記録モードを指定します。

   - すべての Forms メッセージを記録する - 選択すると、クライアントとサーバーの間ですべてのFormsメッセージが記録されます。このオプションを使用すると、実際のユーザー環境と同じ負荷を生成する詳細なスクリプトが作成されます。

   - 重要な Forms メッセージのみを記録する: 選択すると、クライアントとサーバーの間で重要とみなされるFormsメッセージのみが記録されます。重要なメッセージとは、EBS/Forms負荷テスト・モジュールが実際のユーザー・シナリオとしてビジネス・フローをシミュレートするために必要な最小限のメッセージです。EBS/Forms負荷テスト・レコーダは、既知のFormsプロトコルに従ってすべての重要なメッセージをマークします。

     このオプションでは、詳細度の低いスクリプトが生成されます。記録される文が「すべての Forms メッセージを記録する」オプションのときより少なくなり、実際のユーザー環境より負荷が少なくなります（およそ60から80パーセント）。不明なFormsプロトコル・メッセージが重要なメッセージとして記録されない場合、重要なメッセージのみのモードでは記録/再生上の問題が発生することがあります。

     スクリプトの詳細度が低く、ターミナル・メッセージを追加する方法や場所を知る必要もないため、スクリプトで大量のカスタム・ロジックとプログラミングが必要になる場合には、このオプションが有効なことがあります。

6. アプレット・パラメータを次のように設定します。

   アプレット パラメータ: Formsアプリケーションを記録する際に使用するFormsアプレット・クラス・プロパティを指定します。

   - EBS Forms: 選択すると、EBS/Formsアプリケーションを記録する際に、OpenScriptアプレット・クラス・プロパティoracle.forms.engine.mainが使用されます。

   - カスタム Forms: 選択すると、非WebデプロイのカスタムFormsアプリケーションを記録する際に、指定したアプレット・クラス・プロパティが使用されます。

7. その他のパラメータを次のように設定します。

   その他: その他の記録詳細設定を指定します。

   - 強制的に HTTP 記録: 選択すると、記録する際に、アプレット・ページの接続パラメータ値を無視してHTTPを介して通信を行います。この設定は、サイトにHTTPではなくソケットを介して通信するように設定されているアプレットのロード・ページがある場合に必要となることがあります。アプレットのロード・ページのコンテンツがソケットに設定されている場合、OpenScriptはソケットのトラフィックを記録できません。

8. 「OK」をクリックします。

### 8.2.2 Oracle EBS/Forms負荷テスト・スクリプトの記録

Oracle EBS/Forms負荷テスト・スクリプトを記録するには、次のようにします。

1. OpenScriptを起動します。

2. Oracle EBS/Forms負荷テストの相関詳細設定を設定します。

3. Oracle EBS/Forms負荷テストの記録詳細設定を設定します。

4. 「ファイル」メニューから「新規」を選択します。

5. 負荷テスト・グループを開きます。

6. 「Oracle EBS/Forms」を選択します（Oracle EBS/Formsスクリプトにより、HTTPおよびOracle EBS/Formsのテクノロジが同じスクリプトの一部として結合されます）。

7. 「次へ」をクリックします。

8. リポジトリとワークスペースを選択します。

9. スクリプト名を入力します。

10. 「終了」をクリックします。新規スクリプト・ツリーがスクリプト・ビューに作成されます。

11. 「スクリプト」メニューから「記録」を選択します。記録を開始すると、ブラウザが自動的に開きます。

12. 記録を開始するWebページをブラウザにロードします。

13. ページ・オブジェクト、アクションおよびナビゲーションを記録するWebサイトにアクセスします。ページ・オブジェクト、アクションおよびナビゲーションは、スクリプト・ツリーうち、「記録セクション指定」設定で指定したノード（デフォルトは「Run」ノード）に追加されます。

14. ページのナビゲーションが終了したら、ブラウザを閉じてください。

15. 「スクリプト」メニューから「停止」を選択するか、OpenScriptツールバーの「停止」ボタンをクリックします。

16. スクリプトの「Run」ノードを開いて、スクリプト・ツリーのページ・オブジェクト、アクションおよびナビゲーションのノードを表示します。

    特定のテスト要件実現のために、メニュー・オプションまたはコード・ビューを使用してスクリプトをカスタマイズすることができます。

    注意: 記録中またはスクリプトの再生中に、スクリプト・エディタ・ビューまたはスクリプト・プロジェクトを閉じないでください。閉じると、OpenScriptアプリケーションで予期しない動作が発生する場合があります。

## 8.3 スクリプトの再生

OpenScriptでは、記録されたOracle EBS/Formsのアクション/コマンドを再生します。これは属性で識別されたオブジェクトで構成されます（例: `nca.treeList("``handlerName``").selectByIndex(0);`）。再生に使用されるアクションは、記録されたアクションまたはJavaコード・ビューで手動で指定されたアクションのいずれかです。Oracle EBS/Forms負荷テスト・モジュールではFirefoxをサポートしていないため、再生の構成ができるのはIEのみです。自動再生は、OpenScriptのコマンドライン・インタフェースを使用し、Oracle Test Managerまたはサード・パーティ・ツールを介してサポートされます。

Oracle EBS/Forms負荷テスト・モジュールには再生ツールバー・ボタンと反復ツールバー・ボタンがあり、ユーザーはこれらを使用してスクリプトの再生を開始することができます。再生は、スクリプトを通じて一度のみ行うか、データバンク・ファイルのデータを使用して何度も反復することが可能です。Oracle EBS/Forms負荷スクリプトの再生結果は、結果ビューとコンソール・ビューで確認できます。

### 8.3.1 Oracle EBS/Forms負荷テストの再生詳細設定の設定

Oracle EBS/Forms負荷テストの再生詳細設定を設定するには、次のようにします。

1. OpenScriptを起動します。

2. 「ビュー」メニューから「OpenScript 詳細設定」を選択します。

3. 「OpenScript」ノード配下の「再生」カテゴリを開きます。

4. 「Oracle EBS/Forms 負荷テスト」を選択します。

5. メッセージ・オプションを選択または選択解除します。

   メッセージ詳細をキャプチャする: 再生中にFormsメッセージ詳細を取得するかどうかを指定します。選択すると、OpenScriptは、再生中にFormsメッセージ・リクエスト、レスポンスおよびロードされたすべてのFormsコンポーネント情報を取得し、保存します。この情報はスクリプトをデバッグする際に役に立ちます。

   OpenScriptでは、詳細ビューの「メッセージ」タブおよび「オブジェクト詳細」タブに取得した詳細が表示されます。Oracle Load Testingでは、「仮想ユーザー ディスプレイ」設定に基づいて仮想ユーザー表示にこの情報が表示されます。

   メッセージ詳細の取得はメモリー集中型の操作です。負荷の高い負荷テスト中は、エージェントによってリクエストされるヒープ領域容量を減らすために、この設定を解除することをお薦めします。

   コンソールにメッセージ ログを表示する: 「コンソール」タブにFormsメッセージ・ログの詳細を表示するかどうかを指定します。選択すると、メッセージ・ログの詳細がコンソールに表示されます。選択解除すると、メッセージ・ログの詳細はコンソールに表示されません。

6. 「OK」をクリックします。

### 8.3.2 Oracle EBS/Forms負荷スクリプトの再生

Oracle EBS/Forms負荷スクリプトを再生するには、次のようにします。

1. OpenScriptを起動します。

2. 再生するOracle EBS/Forms負荷テスト・スクリプトを開きます。

3. 「スクリプト」メニューから「再生」を選択するか、ツールバー・ボタンをクリックします。

   コンソール・ビューでスクリプト再生の進捗状況を確認できます。結果ビューでスクリプト再生の結果を確認できます。

### 8.3.3 Oracle EBS/Forms負荷スクリプトを反復して再生

Oracle EBS/Forms負荷スクリプトを反復再生するには、次のようにします。

1. OpenScriptを起動します。

2. 再生するOracle EBS/Forms負荷テスト・スクリプトを開きます。

3. 「スクリプト」メニューから「反復」を選択するか、ツールバー・ボタンをクリックします。

4. 「データバンクを使用」を選択します。

5. スクリプトに複数のデータベースが設定されている場合には、設定を指定するデータバンク・ファイルを選択します。

6. データバンク・ファイルの設定を指定します。

7. 再生を停止する反復数オプションを選択し、任意の再生の反復回数を指定します。反復設定の詳細は、4.5項「スクリプトを反復して再生」を参照してください。

8. 「OK」をクリックします。

   コンソール・ビューでスクリプト再生の進捗状況を確認できます。結果ビューでスクリプト再生の結果を確認できます。

## 8.4 スクリプトの変更

スクリプトを作成あるい記録したら、テスト上の必要に応じてスクリプトに変更を加え、カスタマイズすることができます。

### 8.4.1 Formsアクションの追加

Oracle EBS/Formsモジュールには、スクリプトに追加できるOracle EBS/Formsオブジェクトのアクションが含まれています。

Formsアクションをスクリプトに追加するには、次のようにします。

1. EBS/Forms機能テスト・スクリプトを記録します。

2. アクションを追加するスクリプト・ノードを選択します。

3. 「スクリプト」メニューを選択してから、「追加」サブメニューで「その他」を選択します。

4. 「Forms 負荷アクション」ノードを開きます。

5. アクション・ノードを開いてアクションを選択します。

6. 「OK」をクリックします。

7. オブジェクトに対するオブジェクト識別パスを入力します。「キャプチャ」または「選択」のメニュー・オプションを使用して、オブジェクト・パスを取得または選択できます。

8. オブジェクト・アクションに使用する必要な値を入力します。

9. 「OK」をクリックします。アクション・ノードがスクリプト・ツリーに追加されます。

   Javaコード・ビューでは、`nca.``object``(``handlerName``).``action``()`メソッドがスクリプト・コードに追加されます。

       nca.treeList("handlerName").selectByIndex(0);

   「Forms 負荷アクション」ノードには、「アプリケーション」、「ボタン」、「チェック ボックス」、「選択ボックス」、リスト・アイテム、「リスト値」、ポップ・リスト・アイテム、「ラジオ ボタン」、「タブ」、「テキスト フィールド」、「ウィンドウ」、「汎用クライアント」および「アラート ダイアログ」などのオブジェクトのアクションが含まれています。その他のオブジェクト・アクションには、対応するJavaコード・メソッドがあります。

### 8.4.2 FormsアクションをXMLメッセージに変換

再生の問題をトラブルシューティングするためにスクリプトに記録されたEBS/FormsアクションをRAW XMLクライアント・メッセージに変換する必要がある場合があります。たとえば、スクリプト・レコーダはスクリプト・ツリーに`Activate window ("``WindowName``")`などのアクションを作成します。アクションのJavaコードは`nca.window(``id``, "``WindowName``").activate()`と同様です。

ただし、実際のアプリケーション・サーバーとWebクライアント間のXMLメッセージのトラフィックはより詳細です。たとえば、ウィンドウのアクティブ化アクションのメッセージ・トラフィックは次のようになります。

    <Messages>

      <ClientMessage Object="HEADER">

        <Message mActionString="MSG_UPDATE" mActionCode="2" mHandlerClassId="0"

              mHandlerId="170">

          <Property actionString="WINDOW_ACTIVATED" action="247"

              type="java.lang.Boolean" value="true"/>

        </Message>

      </ClientMessage>

      <ClientMessage Object="HEADER_ORIGINATING_BAL_SEG_VALUE_0">

        <Message mActionString="MSG_UPDATE" mActionCode="2" mHandlerClassId="0"

              mHandlerId="566">

          <Property actionString="CURSOR_POSITION" action="193"

              type ="java.lang.Integer" value="0"/>

        </Message>

      </ClientMessage>

    </Messages>

特定のスクリプト・アクションをトラブルシューティングする必要がある場合は、スクリプト・アクションをRAW XMLメッセージに変換し、スクリプトの再生を再試行して、XMLメッセージによって問題が解決されるかどうかを確認できます。

EBS/FormsアクションをXMクライアント・メッセージに変換するには、次のようにします。

1. 変換するスクリプト・ノードを右クリックし、「プロパティ」を選択します。次のオプションが含まれるフォーム・ウィンドウが開きます。

   Forms クライアント メッセージを自動的に生成する: 選択すると、再生時に、スクリプトで記録されたFormsアクションが使用されます。

   - パス: 記録されたFormsアクション・パスを表示します。

   記録されたFormsクライアント・メッセージを送信する: 選択すると、再生時に、スクリプトで記録されたRAW XMLクライアント・メッセージが使用されます。

   - 詳細: クライアント・メッセージの説明を表示します。

   記録済メッセージ: 記録中にアプリケーション・サーバーとWebクライアント間で生成されるRAW XMLクライアントおよびサーバー・メッセージを表示します。

2. 「記録されたFormsクライアント・メッセージを送信する」オプションを選択します。必要な場合、RAW XMLメッセージを編集できます。

3. 「OK」をクリックします。

   注意: スクリプト・アクションのXMLメッセージへの変換は、保存せずにスクリプトを閉じないかぎり元に戻せません。

   スクリプト・ノードは`Send Message` `action`アクションに変更します。アクションのJavaコードは次の形式でメソッドに変更します。

       nca.sendMessages(id,"description","<Messages>XML string</Messages>");

   RAW XMLメッセージ文字列は非常に長くなり、スクリプト・サイズが増える可能性があります。

### 8.4.3 Oracle EBS/Forms負荷テスト・モジュールAPIの使用

Oracle EBS/Forms負荷テスト・モジュールには、Oracle EBS/Forms負荷テストに固有のスクリプトのAPI（アプリケーション・プログラミング・インタフェース）が含まれています。Oracle EBS/Forms負荷テスト・モジュールのレコーダでは、ツリー・ビューに対応するJavaコードを作成し、Oracle EBS/Forms負荷テスト・コマンドをわかりやすい機能名でJavaコード・ビューに表示します。Javaコード・ビューのコマンドはツリー・ビューに対応しており、どちらのビューでもスクリプトを編集できます。

Oracle EBS/Forms負荷テストAPIを使用し、記録されたスクリプトを強化してテスト機能を追加できます。Oracle EBS/Forms負荷テスト・モジュール固有のコマンドは、ncaクラスの一部です。追加の機能テスト・メソッドは、httpクラスにあります。その他の使用可能なクラス（サービス）のコマンドを利用したり、スクリプトでJavaコマンドを生成したりすることもできます。

次にOracle EBS/Formsのテスト・モジュールAPIの例を示します。

- アプリケーション

- アラート ダイアログ

- ボタン

- チェック ボックス

- 選択ボックス

- 汎用クライアント

- リスト・アイテム

- リスト値

- ポップ・リスト・アイテム

- ラジオ ボタン

- タブ

- テキスト フィールド

- ウィンドウ

Oracle EBS/Forms負荷テスト・モジュールのツリー・ビューを使用して、多数のAPIメソッドを追加できます。Javaコード・ビューを使用してさらにメソッドを追加することができます。使用できるプロシージャ一覧のインテリジェンス・ウィンドウを開くには、[Ctrl]キーを押しながら[Space]キーを押します。その他のプログラミング情報の詳細は、OpenScriptヘルプのAPIリファレンスを参照してください。

## 8.5 Oracle EBS/Forms負荷テストの相関詳細設定の設定

Oracle EBS/Forms負荷テストの相関詳細設定を設定するには、次のようにします。

1. OpenScriptを起動します。

2. 「ビュー」メニューから「OpenScript 詳細設定」を選択します。

3. 「OpenScript」ノード配下の「相関」カテゴリを開きます。

4. Oracle EBS/Forms負荷テスト・ライブラリを開きます。

5. チェック・ボックスを選択または選択解除して、各ルールを有効または無効にします。

6. 「追加」ボタンや「編集」ボタンをクリックして、ライブラリのルールを変更します。

7. 「OK」をクリックします。

## 8.6 Oracle EBS/Forms負荷テストの相関ルール・ライブラリ

Oracle EBS/Forms相関ルール・ライブラリでは、Oracle EBS/Formsベースのアプリケーションの相関ルールが定義されます。相関ルールにより、Oracle EBS/Formsアプリケーションおよびナビゲーションの動的データの置換に使用される変数名と正規表現が指定されます。OpenScript Oracle EBS/Forms負荷テスト・モジュールに提供されているデフォルトのOracle EBS/Forms相関ルール・ライブラリには、次の相関ルールが含まれています。

- formsload.location - 変数置換: 正規表現パターン`document.location='(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.location`と置き換えます。

- リンクおよびフォーム・アクション - DOM相関: Oracle EBS/Formsアプリケーションのリンクおよびフォーム・アクションのWebドキュメント・オブジェクト・モデル相関ルールを実装します。

- ICXチケット11i - 変数置換: 正規表現パターン`icx_ticket='(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload:icx_ticket_11i`と置き換えます。

- ICXチケットR12 - 変数置換: 正規表現パターン`icx_ticket&gv15=(.+?)&`に一致するHTML内のテキストを検出し、すべての場所で変数名`icx_ticket&gv15=(.+?)&`と置き換えます。

- ICX Ticket R12s - 変数置換: 正規表現パターン`gv15\s*=\s*"(.+?)"`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.icx_ticket_r12s`と置き換えます。

- formsload.module - 変数置換: 正規表現パターン`<PARAM (?:name|NAME)=(?:|'|")serverArgs(?:|'|")\s+(?:value|VALUE)="module=(.+?)`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.module`と置き換えます。

- formsload.config - 変数置換: 正規表現パターン`config='(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.config`と置き換えます。

- SSO FormsID - 変数置換: 正規表現パターン`sso_formsid=(.+?)`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.ssoformsId`と置き換えます。

- formsload.objectCategoryId - 変数置換: 正規表現パターン`,\{'ObjectCategoryId':'(.+?)','DetailObjectId':'.+?'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.objectCategoryId`と置き換えます。

- formsload.detailObjectId - 変数置換: 正規表現パターン`,\{'ObjectCategoryId':'.+?','DetailObjectId':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.detailObjectId`と置き換えます。

- formsload.HzPuiCustAccountId - 変数置換: 正規表現パターン`'HzPuiCustAccountId':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.HzPuiCustAccountId`と置き換えます。

- formsload.evtSrcRowIdx - 変数置換: 正規表現パターン`'evtSrcRowIdx':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.evtSrcRowIdx`と置き換えます。

- formsload.evtSrcRowId - 変数置換: 正規表現パターン`'evtSrcRowId':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.evtSrcRowId`と置き換えます。

- formsload.value - 変数置換: 正規表現パターン`'DefaultFormName','goto','OIENavBar',0,'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.value`と置き換えます。

- ヘッダーの相関 - ヘッダーの相関: 動的ヘッダーを使用するOracle EBS/Formsアプリケーションのデフォルトのヘッダー相関の相関ルールを実装します。

- Refererヘッダーの相関 - ヘッダーの相関: 動的Refererヘッダーを使用するOracle EBS/Formsアプリケーションのデフォルトのヘッダー相関の相関ルールを実装します。後でRefererヘッダーでナビゲーションに使用するため、リクエストされたURLを格納する`http.solveRefererHeader`メソッドが追加されます。

- formsload.loginsave - 変数置換: 正規表現パターン`submitForm\('DefaultFormName',1,\{'_FORM_SUBMIT_BUTTON':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.loginsave`と置き換えます。

- formsload.loginsubmit - 変数置換: 正規表現パターン`FORM_SUBMIT_BUTTON':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.loginsubmit`と置き換えます。

- formsload.submit backslash - 変数置換: 正規表現パターン`\{\\'_FORM_SUBMIT_BUTTON\\':\\'(.+?)\\'\}`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.submit.backslash`と置き換えます。

- FormsLTグローバル置換 - Oracle EBS/Forms変数置換: HTTPモードで実行されているFormsへの適切な接続文を追加します。Forms URL変換とICXチケット変換を置換します。

- formsload.oas - 変数置換: 正規表現パターン`oas=(.+?\.\.)`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.oas`と置き換えます。

- formsload.ti - 変数置換: 正規表現パターン`&_ti=(.+?)&`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.ti`と置き換えます。

- formsload.resultsVOName - 変数置換: 正規表現パターン`'ResultsVOName':'(.+?)','ItemKey'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.resultsVOName`と置き換えます。

- formsload.ItemKey - 変数置換: 正規表現パターン`'ResultsVOName':'.+?','ItemKey':'(.+?)','evtSrcRowId':'','evtSrcRowIdx'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.ItemKey`と置き換えます。

- formsload.SDP_RLID - 変数置換: 正規表現パターン`&SDP_RLID=(.+?)&`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.SDP_RLID`と置き換えます。

- formsload.SDP_RHID - 変数置換: 正規表現パターン`&SDP_RHID=(.+?)&`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.SDP_RHID`と置き換えます。

- formsload.SDP_RHID - 変数置換: 正規表現パターン`&SDP_RHID=(.+?)&`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.SDP_RHID`と置き換えます。

- formsload.QotFrmEvtVal - 変数置換: 正規表現パターン`'QotFrmEvtVal':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.QotFrmEvtVal`と置き換えます。

- formsload.QotFrmEvt - 変数置換: 正規表現パターン`'QotFrmEvt':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.QotFrmEvt`と置き換えます。

- formsload.QotFrmEvtVal2 - 変数置換: 正規表現パターン`'QotFrmEvtVal2':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.QotFrmEvtVal2`と置き換えます。

- formsload.serverValidate - 変数置換: 正規表現パターン`'serverValidate':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.serverValidate`と置き換えます。

- formsload.QotFrmSvMdlFg - 変数置換: 正規表現パターン`'QotFrmSvMdlFg':'(.+?)'`に一致するHTML内のテキストを検出し、すべての場所で変数名`formsload.QotFrmEvtVal`と置き換えます。

- Webデフォルト相関 - DOM相関: Oracle EBS/FormsアプリケーションのデフォルトのWebドキュメント・オブジェクト・モデル相関ルールを実装します。

## 8.7 Oracle EBS/Forms負荷テスト・スクリプトのトラブルシューティング

記録時および再生時に記録されたOracle EBS/Forms負荷テスト・スクリプトをデバッグする際に使用できる、重要な概念、ツールおよび機能を次に示します。

### 8.7.1 メッセージ・ログを使用したデバッグ

この項では、メッセージ・ログを使用してOracle EBS/Forms負荷テスト・スクリプトをデバッグする方法について説明します。

#### 8.7.1.1 記録中

EBS/Forms負荷スクリプトを記録する際に、Oracle EBS/Forms負荷テスト・モジュールでは完全なメッセージのログを生成します。これは、Formsサーバーとクライアント・ブラウザ間でやり取りされたメッセージのログです。ログは、次のすべてのタイプの通信について生成されます（「Oracle EBS/Forms負荷テストの記録」を参照）。

- ソケット接続: 数値0で識別

- HTTP接続: 数値1で識別

- HTTPS接続: 数値2で識別

この記録されたログは、`<installdir>/OFT/<ScriptName>/recordedData/FormsLT_Recorded_FormsMessage_Logs/RecordedMessages.log`に置かれます。

#### 8.7.1.2 記録されたログの形式

ログの形式は次のとおりです。

- MESSAGE FROM CLIENT: クライアントからサーバーに送信されたメッセージを示します。メッセージ・オブジェクトのXML文字列表示が続きます。

- TERMINAL MESSAGE FROM CLIENT: クライアントからサーバーに送信されたターミナル・メッセージを示します。ターミナル・メッセージ・オブジェクトのXML文字列表示が続きます。

- MESSAGE FROM SERVER: サーバーからクライアントに送信されたレスポンス・メッセージを示します。メッセージ・オブジェクトのXML文字列表示が続きます。

- TERMINAL MESSAGE FROM SERVER: サーバーからクライアントに送信されたレスポンスの終了を示すターミナル・メッセージを示します。ターミナル・メッセージ・オブジェクトのXML文字列表示が続きます。

#### 8.7.1.3 再生中

再生中にスクリプトが失敗した場合は、デバッグのためにメッセージ・ログを有効化できます。

メッセージ・ログを有効にするには、次のようにします。

1. Oracle EBS/Forms負荷テスト・スクリプトを開きます。

2. EBS/Forms再生詳細設定の再生ログの取得・オプションを有効にします。

メッセージ・ロギングを有効化してから、再生ボタンをクリックしてスクリプトを実行します。スクリプトの再生中に、サーバーとクライアント間でやり取りされたすべてのFormsメッセージが、OpenScriptのコンソール・ウィンドウに出力されます。

これはかなり大きなメッセージのログであり、記録されたログを参照してOpenScriptによりサーバーに送信されたメッセージと比較します。記録されたログには表示されるが、再生ログには表示されないメッセージを確認してください。OUTERSIZEやLOCATIONなどのメッセージが欠落しているのは普通のことです。これは、EBS/Forms負荷スクリプト・レコーダでは、ユーザーにスクリプトに記録されたメッセージではなくアクションが表示されるように設計されているためである点に留意してください。

#### 8.7.1.4 再生後

メッセージ再生ログは、記録されたFormsメッセージと再生されたFormsメッセージを比較してスクリプトの問題をトラブルシューティングするために使用できます。結果ビューの結果を選択し、詳細ビューの「比較」タブで記録されたメッセージと再生メッセージを比較します。

EBS/Forms負荷スクリプトの詳細ビューには、次のタブがあります。

- オブジェクト詳細ツリー: ツリー階層で、EBS/Formsオブジェクトのプロパティ名と値がテキストベースで表示されます。プロパティを右クリックして、テキスト・マッチング・テストを追加できます。

- スクリーン ショット: 視覚的に識別するためのEBS/Formsウィンドウのイメージが表示されます。スクリーンショットはウィンドウのアクティブ化アクションで取得されます。

- メッセージ: 選択されたスクリプト・ノードに対して記録されたRAW XML EBS/Formsメッセージが表示されます。

- メッセージ ツリー: ツリー階層で、選択されたスクリプト・ノードのXML EBS/Formsメッセージのパラメータおよび値が表示されます。

- 比較: 結果ビューに、選択されたアイテムに対するXML EBS/Formsメッセージまたはオブジェクト詳細の記録されたものと再生されたものとの比較が表示されます。「比較」リストから比較タイプを選択します。

### 8.7.2 メッセージ・ログの解析

記録されたログと再生ログの解析する際にチェックすべきメッセージは、次のとおりです。

- FOCUSメッセージ: 正しいコンポーネントにフォーカスがあることを確認してください。フォーカスが正しく設定されていないコンポーネントでは、スクリプトでアクションを実行できません。たとえば、テキスト・フィールド・コンポーネントに、押すとリスト値のダイアログが表示されるボタンがあるとします。この場合、OpenScriptでボタンを押すアクションを実行しようとしても、フォーカスが正しくないと、コンポーネントが使用できないなどのエラーが発生します。

- WINDOW_ACTIVATEDメッセージ: コンポーネントのスクリプト・アクションに対して、正しいウィンドウが現在のアクティブ・ウィンドウになっていることを確認してください。正しいウィンドウが現在アクティブになっていない場合、そのウィンドウ内のコンポーネントでは、スクリプトでアクションを実行できません。

### 8.7.3 「コンポーネントが存在しない」エラーの解決

「コンポーネント0が存在しない」というエラー・メッセージ（エラー・コードCOMPONENT_DOES_NOT_EXIST）は、Oracle Forms負荷テスト・スクリプトを初めて作成する際に発生することがあります。このエラーでは次の原因が考えられます。

1. スクリプトの最初のアクションでエラーが発生する場合は、前述の「問題1. 接続失敗およびICX_Ticket相関」に示されていることが起きている可能性があります。

2. アクションが実行されるときに、スクリプトに指定されたオブジェクトが実際にアプリケーションに存在していません。

   たとえば、スクリプトの記録時に、テスターがオーダーを検索して削除する場合、削除するオーダー番号がもう存在しないためスクリプトの再生時に失敗します。ステータス・バーのテキスト・メッセージが有効な場合は、ステータス・バーのテキスト検証を挿入すると役に立つことがあります。

   他に、Formsアプリケーションによって、検証エラーまたはアプリケーション内でのその他のビジネス・フロー・エラーを示す、予期しないダイアログ・ボックスのエラー・メッセージが表示される場合があります。記録中にこのようなダイアログが表示されなかった場合は、後続のアクションが失敗します。スクリプトのエラー・ログをチェックして、エラーのダイアログ・ボックスが表示されているかどうかを確認してください。スクリプトのすべてのデータ入力が有効であることをチェックして、スクリプトに指定されているアクションを検証してください。

3. また、テクニカル・サポートがないと問題の根本原因を診断することが困難な場合があります。たとえば、テスト中のアプリケーションが、Forms再生エンジンが認識しないサーバーにカスタム・メッセージを送信するカスタムFormsオブジェクトを使用している場合などです。

### 8.7.4 FormsのifErrorメッセージのトラブルシューティング

スクリプトをHTTPモードで再生する場合、サーバーはVUによる特別な処理が必要となるプレーン・テキストのエラー・メッセージで応答することができます。サーバーから返される最も一般的なタイプの`ifError`メッセージを次に示します。

IfErrorメッセージ

  これらのメッセージは、HTTPモードでスクリプトを再生する場合のサーバーに対するFormsリクエストのレスポンスとして返されます。これらのメッセージのレスポンス・コンテンツ・タイプはplain/textであり、レスポンス・コードは「200 OK」です。

ifError:3

  クライアントでcookieが処理されません。その仮想ユーザーに対してcookie処理を有効にしてください。

ifError:4

  サーバーでOracle EBS/Formsプロセスを作成できませんでした。サーバー側に問題があります。

ifError:5

  サーバーでOracle EBS/Formsプロセスを開始できませんでした。サーバー側に問題があります。

ifError:6

  Oracle EBS/Formsセッションが中止され、VUとサーバーが通信できません。多くの場合、これはサーバーの負荷が大きい場合やスクリプトに問題がある場合に発生します。

ifError:7

  現在サーバーがビジーです。後でリクエストを再試行してください。VUではこのリクエストを<n>回再試行します。<n>は、エラーがスローされるか、再生が中止するまでの、Forms負荷テスト再生詳細設定で指定した値です。

ifError:11/<n>

  サーバーはビジーです。<n>ミリ秒の経過後にリスエストを再試行してください。このタイプのメッセージはユーザーに表示されず、<n>ミリ秒が経過すると、VUによってこのリクエストは自動的に再試行されます。