前のトピック: VSE トランザクションについて次のトピック: ナビゲーション許容差


VSE のステートレス トランザクションと会話型トランザクション

VSE のトランザクションは、ステートレス会話型に分類されます。

ステートレス トランザクション

ステートレス トランザクションでは、トランザクション間に論理的な関係が含まれません。 たとえば、HTTP と SOAP はステートレス プロトコルです。 ステートレス トランザクションは、以前行われたコールに関係なく、常に静的な応答を行います。

ステートレスな会話では、各サービス コールは互いに独立しています。 たとえば、以下のようになります。

会話型/ステートフル トランザクション

会話は、ステートフル トランザクションで構成されます。 会話は、一致した場合に一意のセッションを開始する論理トランザクション、およびそのセッションの作成と識別に必要な情報から構成されます。 会話型のトランザクションは、常に以前の会話で作成されたコンテキストに依存しています。

以下に、ATM を使用するステートフルな会話の例を示します。

  1. ATM に接続します。 (操作: ログオン)
  2. どの口座を使用しますか。 (引数 1 - 照合)
  3. 残高はいくらですか。 (操作: 残高)
  4. 応答。
  5. 現金を引き出します。 (操作: 引き出し)
  6. 金額はいくらですか。 (引数 2 - 金額)
  7. 残高はいくらですか。 (操作: 残高)
  8. 応答(以前の要求で引き出された金額によって異なる)。
  9. セッション終了(操作: ログアウト)
会話スタータ

会話の最初のトランザクションは、会話スタータです。 VSE は、受信要求を取得すると、トランザクションが新しい会話の開始を意味しているかどうかを判断するため、会話スタータを確認します。

会話でのトランザクションは、すべて互いに関連しているので、VSE には、この関係を確定する方法が必要です。 この特定は、通常、「jsessionid」などの何らかの特別なトークン、Web トランザクションの Cookie、またはメッセージ トラフィックのカスタム識別子を使用して行われます。

DevTest は、以下のタイプの会話をサポートしています。

インスタンス ベースの会話

プロトコル層で一意の文字列の識別が行われます。これは、クライアントの各インスタンスに基づいています。 その文字列により、サービス イメージのレコーディングと再生の両方に対するサーバ側セッションが識別されます。

トークン ベースの会話

VSE は、サービス イメージの会話に格納されている文字列生成パターンを使用して、トークンを生成します。 トークンが生成された後は、インスタンス ベースの会話と同じ操作が行われます。 トークン ベースの会話は、レコーディング中に自動的に推定することはできません。 トークンを検索する場所を指定するには、仮想サービス イメージ レコーダを使用します。