例: キューのメッセージの処理
API Engine を使用すると、キューとトピックのメッセージを操作することができます。これらのメッセージは、アクティブ MQ 、 IBM MQ 、MicrosoftメッセージQueuing (MSMQ) 、Oracle WebLogic 、Rabbit MQ 、Tibco EMS などのAPI接続を使用するときに作成されます。
キューまたはトピックは、一人以上の送信者によって送信され、一人以上の受信者によって読み取られるメッセージを一時的に保存します。これにより、システムの 1つがオフラインの場合でも、異なるいくつかのシステムが互いに独立して通信できるようになります。キューまたはトピックからメッセージを受信するか、キューまたはトピックにメッセージを送信するかを選択できます。つまり、メッセージをプルしたいのか、プッシュしたいのかを選択できます。キューとトピックの詳細については、 see chapter "JMS メッセージを実行する" および chapter "MSMQメッセージを実行する" をご参照ください。
次の例では、MSMQキューからのメッセージを操作し、テスト用に準備します。この例には以下のステップがあります。
キューのメッセージをエクスポートする
この例では、 API Scan を使用してMSMQメッセージを実行します。新規プロジェクトで、以下の2件のメッセージが入ったフォルダ MSMQ Folder を作成しました。
-
プル: MSMQキューからプルしたメッセージ
-
プッシュ:MSMQキューにプッシュしたメッセージ
Tosca Commander でキューのメッセージを使用するには、このフォルダをAPIテストケースとして API Scan からエクスポートしてください。
API Scan からフォルダをエクスポート
APIモジュールとXTestStepsを識別する
Tosca Commander では、システムがエクスポートされたメッセージから以下の要素を自動作成します。
-
APIModules を含むModulesフォルダ
-
XTestSteps を含む TestCase が入ったTestCasesフォルダ
APIモジュールとXTestSteps
APIモジュールとXTestStepsを扱うには、それらを正しく識別することが重要です。
プルメッセージに対しては、以下の2つのモジュールが作成されます。
-
Pull - Selector: MSMQブローカーに送信されたキューからメッセージをプルするリクエスト。セレクタを使用して、プルしたいメッセージを指定することができます。
-
プル - プルメッセージ: MSMQブローカーからの応答。つまり、キューからプルしたメッセージです。
プッシュメッセージのために、以下の二つのModulesが作成されます:
-
プッシュ - プッシュメッセージ: MSMQブローカーに送信されるメッセージ。つまり、キューにプッシュするメッセージです。
-
プッシュ - ステータス: メッセージがキューにプッシュされたかどうかを示すMSMQブローカーからの応答。つまり、メッセージのステータスです。
システムは、各APIModulesに対してAPIテストケースと XTestSteps も作成します。
APIモジュールとXTestStepsの順序
デフォルトでは、APIモジュールとXTestStepsはアルファベット順に並んでいます。テストを成功裏に実行するためには、キューメッセージングの論理的な順序に従って、テストを再配置する必要があります。キューにメッセージが事前にプッシュされている場合にのみ、キューからメッセージをプルすることができます。そうでなければ、キューは空になります。つまり、プルするメッセージはありません。
APIModulesと XTestSteps を正しく配置するには、次の順序でドラッグ アンド ドロップします。
-
最初のメッセージ:キューにプッシュされたメッセージ。つまり、プッシュ - プッシュメッセージ。
-
二番目のメッセージ:メッセージがキューに正常にプッシュされたかどうかを示すブローカーからの応答。つまり、プッシュ - ステータス。
-
三番目のメッセージ:ブローカーに送信されたキューからメッセージをプルするリクエスト、つまりプル - セレクタ。
-
四番目のメッセージ:キューからプルされたメッセージ、つまりプル - プルメッセージ。
順序付きAPIModulesとXTestSteps
これで、モジュール属性を作成し、その値を確認できるようになりました。