クライアント・プログラムによるサービス・テストの記録

SOAP ベース、XML、プレーン・テキスト、またはバイナリーの各サービスのテストは、HTTP プロトコルを使用する任意のクライアント・プログラムで記録することができます。 テストを記録するため、レコーダーは、クライアントとサービスの間のサービス呼び出しおよびメッセージ・リターンをインターセプトします。 クライアント・プログラムの機能に応じて、HTTP または SOCKS のプロキシー・レコーダーを使用するか、低レベル向けのソケット・レコーダーを使用するかを選択できます。

始める前に

アプリケーションからのトラフィックの記録に使用できるレコーダーは、次のとおりです。
  • SOCKS プロキシー・レコーダー: プロキシー接続が不要な場合は、このレコーダーを使用します。
  • HTTP プロキシー・レコーダー: ネットワークへの接続にプロキシー接続が必要な場合、またはクライアント・プログラムが SOCKS をサポートしていない場合は、このレコーダーを使用します。
  • ソケット・レコーダー: クライアントがプロキシーをサポートしていない場合は、低レベルのネットワーク・トラフィック向けのこのレコーダーを使用します。 このレコーダーは、どのような種類の SSL 認証も暗号化もサポートしていないため、IBM® Rational® Performance Tester Extension for Socket Protocols がインストールされている場合にのみ使用できます。
使用するレコーダーにかかわらず、クライアント・プログラムは HTTP ネットワーク・プロトコルを使用する必要があります。 Java™ Message Service (JMS) テストまたは IBM WebSphere® MQ テストの記録については、Generic Service Client を使用したサービス・テストの記録を参照してください。

Secure Sockets Layer (SSL) を使用している場合は、HTTP プロキシーまたは SOCKS プロキシーにより認証問題が発生することがあります。これは、プロキシー・レコーダーがクライアントとサーバーの間のトラフィックを中継するためです。 設定されている認証方式に応じて、クライアントでは、プロキシー・レコーダー自体をサーバーとして認証することが必要になる場合があり、サーバーでは、プロキシー・レコーダーをクライアントとして認証することが必要になる場合があります。 認証されたサーバーをクライアント・プログラムが要求する場合、サーバー証明書の鍵ストアにアクセスして、それをプロキシー・レコーダーに提供するか、実際のサーバーの証明書ではなくプロキシー・レコーダーのデフォルトの証明書を受け入れるようにクライアントを構成するか、いずれかを行う必要があります。

SOAP ベースの Web サービスをテストする場合は、有効な Web サービス記述言語 (WSDL) ファイルにアクセスできることを確認 してください。 ウィザードは、ワークスペース、ファイル・システム、リモート・リポジトリー、または URL から WSDL ファイルをインポートできます。 WSDL ファイルがテスト環境に対して正しい構文を使用していることも確認します。 Generic Service Client は、一部の WSDL ファイルでは動作しない場合があります。

SOAP セキュリティーを使用している場合は、正しいライブラリーおよび構成ファイルを備えた環境が構成されていることを確認してください。 詳しくは、SOAP セキュリティー用の環境の構成を参照してください。

手順

クライアント・プログラムでサービス・テストを記録するには、以下の手順を実行します。

  1. 「パフォーマンス・テスト」パースペクティブで、「記録からの新規テスト」ツールバー・ボタン 「記録からの新規テスト」ツールバー・ボタン をクリックするか、「ファイル」 > 「新規」 > 「記録からのテスト」をクリックします。
  2. 「記録からの新規テスト」ウィザードで、「新規記録からテストを作成する」をクリックし、「サービス・テスト」を選択して、「次へ」をクリックします。 機密データを記録する場合は、「記録の暗号化レベル」を選択できます。
  3. 「ロケーションの選択」ページで、テストを作成するプロジェクトとフォルダーを選択し、テストの名前を入力してから、「次へ」をクリックします。 必要に応じて、「親フォルダーの作成 (Create Parent Folder)」 「親フォルダーの作成 (Create
Parent Folder)」アイコン をクリックして、プロジェクトまたはフォルダーを作成します。
  4. 「クライアント・アプリケーションの選択」ページで、使用するクライアント・プログラムのタイプを選択します。 プログラムのタイプにより、使用できるレコーダーが定義されます。 サービス・テストの記録でサポートされるクライアント・プログラムのタイプは、以下のとおりです。
    • 管理対象アプリケーション (Managed Application): このオプションは、指定されたプログラムを開始し、プロキシー・レコーダーまたはソケット・レコーダーを使用してトラフィックを記録します。

      「管理対象アプリケーション・オプション (Managed Application Options)」ページで、「参照」をクリックして「プログラム・パス」を指定します。 必要に応じて、「作業ディレクトリー」を指定し、プログラムに必要なコマンド行「引数」を入力します。

      プログラムがコマンド行インターフェースからのユーザー入力を必要とする場合は、「ユーザー入力用のコンソールをオープンしてください」を選択します。

    • Microsoft Internet Explorer または Mozilla Firefox (Microsoft Internet Explorer or Mozilla Firefox): このオプションは、どちらかの Web ブラウザーで送受信されたトラフィックを記録します。
    • 管理対象外アプリケーション (Unmanaged Application): このオプションでは、プロキシーを使用する 1 つまたは複数のクライアント・プログラムからのトラフィックを記録できます。 クライアント・プログラムは手動で開始する必要があります。プロキシー・レコーダーは、指定されたネットワーク・ポートを介して送受信されるすべてのトラフィックを記録します。
    • Generic Service Client: このオプションを選択すると、サービス呼び出しの専用クライアントへのアクセス権がない場合に Generic Service Client が使用されます。 Generic Service Client を使用してサービス・テストを記録する方法については、Generic Service Client を使用したサービス・テストの記録を参照してください。
  5. 「レコーダー設定」ページで、選択したクライアント・プログラムのタイプに応じて、以下の詳細を指定します。
    1. 「管理対象アプリケーション (Managed Application)」を選択した場合は、記録方式を指定します。
      • プロキシーを介する HTTP トラフィックまたは SOCKS トラフィックを記録するには、「プロキシー・レコーダーでトラフィックを記録する」を選択します。
      • プロキシーを使用できないアプリケーションについての低レベルのネットワーク・トラフィックを記録するには、「ソケット・レコーダーでトラフィックを記録する」を選択します。 このレコーダーは、SSL 認証も暗号化もサポートしていません。
      注: プロキシー記録の使用時に、特定のエンドポイントへの HTTP 要求または HTTPS 要求をフィルターで除外して、それらのエンドポイントへの要求が記録されないようにすることができます。 『プロキシー記録の設定』を参照してください。
    2. 「プロキシー・レコーダーでトラフィックを記録する」を選択した場合は、プロキシー・レコーダーが HTTP を使用するか、SOCKS を使用するかを指定します。 プロキシーへの接続が必要な場合、またはアプリケーションが SOCKS をサポートしていない場合は、「HTTP」を選択します。
    3. SSL 認証を使用している場合は、プロキシー・レコーダーの認証設定を指定します。 記録時に、プロキシー・レコーダーは、クライアントとサーバーの間にあります。
      • サーバーがクライアント認証を必要とする場合は、プロキシー・レコーダーをクライアントと見なして、サーバーの認証対象であるプロキシー・レコーダーにクライアント証明書の鍵ストアを提供する必要があります。 「サーバーは特定のクライアント証明書を要求します」を選択します。 サーバー証明書の鍵ストアのファイル名とパスワードを指定します。 複数の証明書が必要な場合は、「複数の証明書」をクリックし、「追加」をクリックして、ホスト名とポートごとに証明書の鍵ストアのファイル名とパスワードを指定します。
        注: 鍵ストアには、クライアントの秘密証明書が含まれている必要があります。
      • クライアントがサーバー認証を必要とする場合は、プロキシー・レコーダーをサーバーと見なして、クライアントの認証対象であるプロキシー・レコーダーにサーバー証明書の鍵ストアを提供する必要があります。 「クライアントは特定のサーバー証明書を要求します」を選択し、「追加」をクリックして、ホスト名とポートごとに証明書の鍵ストアのファイル名とパスワードを指定します。 このオプションを選択しなかった場合、プロキシー・レコーダーは独自のデフォルトの証明書を提供します。
        注: 鍵ストアには、サーバーの秘密証明書が含まれている必要があります。
    4. HTTP プロキシー・レコーダーを使用することを選択した場合は、ネットワークへの接続方法を指定します。 必要に応じて、HTTP プロキシーまたは SOCKS プロキシーを指定するか、プロキシー自動構成 (PAC) ファイルを参照します。 このオプションは、社内プロキシーまたはファイアウォールを介してサービスに接続している場合に使用します。
  6. 「次へ」をクリックします。 初めてサービス・テストを記録するときに、クライアント・アプリケーションの Web ブラウザーを選択しなかった場合は、「プライバシーに関する警告」を読み、「同意」を選択してから、「完了」をクリックして先に進みます。
  7. 管理対象アプリケーションまたは管理対象外アプリケーションでプロキシー・レコーダーを選択した場合は、プロキシー・レコーダーを使用するためにクライアント・プログラムのネットワーク設定を変更します。 ネットワーク設定を変更する方法は、クライアント・プログラムによって異なります。 ただし、プログラムで以下のプロキシー設定を実行できることが必要です。
    • SOCKS プロキシーまたは HTTP プロキシー: ウィザードでプロキシー・レコーダーに選択したプロトコルを指定します。
    • ホスト名: localhost に設定します。
    • ポート: ウィザードでプロキシー・レコーダーに選択したポート番号を指定します。
    予期しない結果が発生しないように、以前のプロキシーの設定に戻してから記録を停止してください。
  8. クライアント・プログラムを使用して、テスト対象のアクションを実行します。 「レコーダー・テスト注釈」ツールバーを使用して、コメントの追加、同期の記録、または記録中の画面キャプチャーの取得を行うことができます。
    • 記録したテストにコメントを追加するには、「コメントの挿入」アイコン 「コメントの挿入」アイコン をクリックします。
    • 記録したテストに画面キャプチャーを追加するには、「画面のキャプチャー」アイコン 「画面のキャプチャー」アイコン をクリックします。画面およびウィンドウをキャプチャーすることにより、テストが読みやすくなり、記録されたテストを視覚化できるようになります。 画面キャプチャーの設定を変更したり、イメージにコメントを追加したりできます。
    • 記録に同期ポイントを手動で追加するには、「同期の挿入 (Insert synchronization)」アイコン 「同期の挿入 (Insert synchronization)」アイコン をクリックします。
    • 記録にトランザクション・フォルダーを手動で追加するには、「トランザクションの開始」アイコン「トランザクションの開始」アイコン および「トランザクションの停止 (Stop Transaction)」 「トランザクションの停止 (Stop Transaction)」アイコン アイコンをクリックして、トランザクションを開始および停止します。
    • 記録したテストに分割ポイントを挿入するには、「分割ポイント」アイコン 「分割ポイント」アイコン をクリックします。 分割ポイントを使用することで、単一の記録から複数のテストを生成することができ、スケジュールとは異なる順序で各テストを再生できます。
  9. クライアント・プログラムでユーザー作業を終了したら、レコーダーを停止します。 この操作を行うには、クライアント・プログラムを閉じるか、「レコーダー・コントロール」ビューのボタン「停止」「停止」アイコンをクリックします。 ステップ 8 の説明に従ってクライアント・プログラムのネットワーク設定を変更した場合は、プログラムを閉じる前にデフォルトの設定に戻すことができます。 「サービス・テストの生成 (Generate Service Test)」ウィザードが開きます。
  10. 記録中に分割ポイントを挿入した場合は、「宛先」ページで、分割テストのロケーションを指定するか、分割記録をまとめてマージします。 テストの分割について詳しくは、記録中の HTTP テストの分割を参照してください。
  11. SOAP ベースの Web サービスをテストする場合は、「サービス・テスト生成オプション」ページで、ワークスペースから Web サービス記述言語 (WSDL) ファイルを指定するか、「追加」をクリックして WSDL をインポートするか、またはリモート WSDL ファイルへリンクします。
  12. 「完了」をクリックします。

タスクの結果

テストの生成と共に、「進行状況」ウィンドウが開きます。 完了すると、「レコーダー・コントロール」ビューに、「テスト生成が完了しました」というメッセージが表示され、テスト・ナビゲーターがテストをリスト表示して、テスト・エディター内でそのテストが開きます。

フィードバック