このセクションの内容:
MQTT Extensions は、Parasoft SOAtest および Parasoft Virtualize のカスタム拡張です。MQTT Extensions をクライアント側(SOAtest)で使用して様々なタスクを実行できます。
サーバー側(Virtualize)では、リスナー拡張を使って Topic フィルターをサブスクライブし、受信するサブスクリプション メッセージに基づいて Topic にパブリッシュすることができます。
MQTT Extensionsは以下のカスタム拡張を提供します。
MQTT Extensions は UI またはコマンドラインからインストールできます。インストールを開始する前に、圧縮ファイルをダウンロードして適切な場所に解凍してください。
localsettings プロパティ ファイルの system.properties.classpath プロパティに mqtt.jar ファイルを追加します。例:
system.properties.classpath=<path to jar>/mqtt.jar
以下の設定を行うことができます。
[Connection] タブでは接続の設定を行います。
Broker URL | MQTT ブローカーの URL を定義します。URL の書式は protocol://host:port です。
このフィールドは必須です。 定義したプロトコルが ssl または wss の場合、[Transport Layer Security (TLS)] ページの設定も行う必要があります。 |
---|---|
Client ID | ブローカーに接続するときに使用するクライアント ID を定義します。空白にした場合、MQTT ブローカーがクライアント ID を生成します。 |
Username | ブローカーに接続するときに使用するユーザー名を定義します。 |
Password | ブローカーに接続するときに使用するパスワードを定義します。 |
Connection Timeout | MQTT ブローカーへの接続の確立を待機するタイムアウト時間を指定します。単位は秒です。 デフォルト: |
Keep Alive Interval | アイドル状態の MQTT クライアントを切断する間隔の最大時間を定義します。 デフォルト: |
Clean Session | クリーン セッションを有効化/無効化します。
デフォルト: |
Client Persistence Directory | クライアント パーシスタンス ファイルを格納するディレクトリを定義します。[Clean Session] を デフォルト: |
[Publish] タブではパブリッシュの設定を行います。
Topic | メッセージをパブリッシュするトピックを定義します。 |
---|---|
Quality of Service | パブリッシュしたメッセージに紐付けるサービス メトリクスの品質を定義します。 設定できる値は、 デフォルト: |
Retain Message on Server | サーバー上にメッセージを保持するかどうかを指定します。メッセージを保持するには 保持したメッセージは、[Clean Session] の設定に関係なく、サブスクリプション時にクライアントに渡されます。 デフォルト: |
Last Will and Testament (LWT) は、クライアントがブローカーに接続するときに定義されます。クリーンな切断以外に何らかの理由でクライアントとブローカーの接続が失われた場合、ブローカーはクライアントの LWT を自動的にパブリッシュします。
Topic | LWT をパブリッシュするトピックを定義します。 |
---|---|
Will Payload | LWT のペイロードを定義します。 デフォルト: |
Quality of Service | LWT に紐付けるサービス メトリクスの品質を定義します。設定できる値は、 デフォルト: |
Retain Message on Server | サーバー上に LWT を保持するかどうかを指定します。LWT を保持するには true に設定します。 保持したメッセージは、[Clean Session] の設定に関係なく、サブスクリプション時にクライアントに渡されます。 デフォルト: |
[Broker URL] でプロトコルを ssl または wss に設定した場合、セキュアな接続を適切に確立できるよう、TLS を設定する必要があります。
TLS Protocol | セキュアな接続を確立するために使用する トランスポート層プロトコルを定義します。 デフォルト: |
---|---|
Key Manager Factory | キー マネージャ ファクトリを定義します。キーマネージャ ファクトリを使って、[キー ストア ファイル] が提供する鍵を管理します。JVM にロードされるセキュリティ プロバイダーに合わせて、異なるキー マネージャーを処理できます。JVM にセキュリティ プロバイダーを追加した場合は、そのセキュリティ プロバイダーのドキュメントを参照し、利用できるファクトリ名を確認してください。 デフォルト: |
Key Store File Location | アセット (.tst、.pva、.pvn) の [キーストア ファイル] への絶対パスまたは相対パスを定義します。 |
Key Store Type | [キー ストア ファイル] の種類を定義します。JVM にロードされるセキュリティ プロバイダーに合わせて、異なるキーストア タイプを処理できます。JVM にセキュリティ プロバイダーを追加した場合は、そのセキュリティ プロバイダーのドキュメントを参照し、利用できるキーストア タイプ名を確認してください。 |
Key Store Password | [キー ストア ファイル] からキー/証明書を抽出するために使用するパスワードを定義します。 空白にした場合、パスワードなしでキーの抽出を試みます。 |
Trust Manager Factory | トラスト マネージャー ファクトリを定義します。トラスト マネージャー ファクトリを使用して、[トラスト ストア ファイル] が提供するキーを管理します。JVM にロードされるセキュリティ プロバイダーに合わせて、異なるトラスト マネージャーを利用できます。JVM にセキュリティ プロバイダーを追加した場合は、そのセキュリティ プロバイダーのドキュメントを参照し、利用できるファクトリ名を確認してください。 デフォルト: |
Trust Store File Location | アセット (.tst、.pva、.pvn) の [トラスト ストア ファイル]への絶対パスまたは相対パスを定義します。 デフォルト: |
Trust Store Type | [トラスト ストア ファイル] の種類を定義します。JVM にロードされるセキュリティ プロバイダーに合わせて、異なるトラスト ストア タイプを処理できます。JVM にセキュリティ プロバイダーを追加した場合は、そのセキュリティ プロバイダーのドキュメントを参照し、利用できるトラスト ストア タイプ名を確認してください。 |
Trust Store Password | [トラスト ストア ファイル] からキー/証明書を抽出するために使用するパスワードを定義します。空白にした場合、パスワードなしでキーの抽出を試みます。 |
[接続の管理] タブでは、接続管理の設定を行います。
接続をキープ アライブ | クライアント接続を持続して今後のパブリッシュで再利用するには、このオプションを有効化します。 |
---|---|
テスト実行後に接続をクローズする | パブリッシュの直後にクライアント接続を切断するには、このオプションを有効化します。 |
MQTT Subscriber は、指定の持続時間に達するまで、メッセージの最大数に達するまで、または接続が終了するまで、トピックをリッスンします。メッセージの最大数がゼロ (無制限) の場合、MQTT Subscriber はサブスクリプションの最大持続時間までリッスンを試みます。
以下の設定を行うことができます。
このページの設定方法については「Connection 設定」を参照してください。
[Subscribe] タブでサブスクライブ設定を行います。
Topic Filter | サブスクリプションを確立するときに使用する Topic フィルターを定義します。特別なワイルドカード たとえば parasoft/example/topic および parasoft/example/soavirt/topic の場合: parasoft/+/topic は、parasoft/example/topic をフィルタリングします。 parasoft/#/topic は、両方のトピックをフィルタリングします。 このフィールドは必須です。 |
---|---|
Quality of Service | サブスクリプションのサービス品質 (QoS) レベルを定義します。低い QoS でパブリッシュされたメッセージは、パブリッシュされた QoS で受信されます。高い QoS でパブリッシュされたメッセージは、この設定で指定した QoS を使って受信されます。 デフォルト: |
Max Messages | サブスクリプションを終了する前に待機するメッセージの最大数を定義します。 デフォルト: |
Subscription Duration. | [Max Messages] を デフォルト: |
Timestamp Format | 到着するメッセージを使って生成されるタイムスタンプの書式を定義します。 デフォルト: カスタム書式のタイムスタンプを定義したい場合は、SimpleDateFormat Javadocs を参照してください。http://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html |
この設定の詳細については「Last Will and Testament (LWT) 設定」を参照してください。
この設定の詳細については「Transport Layer Security (TLS) 設定」を参照してください。
MQTT Message Listener を使用するには、Virtualize サーバーに Parasoft 仮想アセット (PVA) を追加し、[仮想アセットのデプロイ設定] の [カスタム] タブで [実装の選択] に [MQTT Message Listener] を選択し、MQTT の設定を行います。
以下の設定を行うことができます。
このページの設定方法については「Connection 設定」を参照してください。
Topic Filter | このフィールドの設定方法については「Topic Filter」を参照してください。 |
---|---|
Quality of Service | このフィールドの設定方法については「Quality of Service」を参照してください。 |
このページの設定方法については「Publish 設定」を参照してください。
この設定の詳細については「Last Will and Testament (LWT) 設定」を参照してください。
この設定の詳細については「Transport Layer Security (TLS) 設定」を参照してください。
MQTT Event Monitor は、Topic フィルターをサブスクライブし、テスト実行中にメッセージの到着をモニタリングするために使用されます。この機能は、到着するメッセージの検証を可能にします。検証には、メッセージが到着する順序、メッセージの到着時刻、メッセージがパブリッシュされたトピック、およびメッセージ ペイロードが含まれます。
以下の設定を行うことができます。
URL | ブローカー URL を定義します。MQTT Event Monitor のブローカー URL の定義方法は他のツールと異なります。 以下の書式を使ってブローカー URL を設定します: protocol://client_id@host:port/topic_filter
このフィールドは必須です。 SSL プロトコルを指定した場合、クライアントの Transport Layer Security (TLS) を設定するために MQTT Configure Toolを使用する必要があります。 client_id を指定しない場合、サーバーがクライント ID を生成します。 Topic フィルターを定義するために URLでワイルドカードを使用することはできません。使用した場合、URL は適切にパースされません。Topic フィルターでワイルドカードを使用するには、URL 宣言から Topic フィルターを削除し、MQTT Configure Tool を使って Topic フィルターを定義してください。 MQTT Configure Tool を使って、メッセージ到着時のイベントのタイムスタンプをカスタム書式で定義できます。 |
---|---|
ユーザー名 | ブローカーに接続するときに使用するユーザー名を定義します。 |
パスワード | ブローカーに接続するときに使用するパスワードを定義します。 |
MQTT Configure Tool を使用すると、テスト全体について特定の MQTT プロパティを設定できます。そのため、同じプロパティを必要とする場合に、個々のテスト ステップの設定に要する時間と労力を削減できます。MQTT Configure Tool で定義した設定は、個々のテスト ステップで上書きできます。Event Monitor Tool には TLS プロパティを設定する方法が存在しないため、MQTT Configure Tool は Event Monitoring インターフェイスを使用する場合に特に有用です。ベスト プラクティスとして、MQTT Configure Tool はセットアップ テストとしてのみ使用するべきです。
以下の設定を行うことができます。
Connection Timeout | このフィールドの設定方法については「Connection Timeout」を参照してください。 |
---|---|
Keep Alive Interval | このフィールドの設定方法については「Keep Alive Interval」を参照してください。 |
Clean Session | このフィールドの設定方法については「Clean Session」を参照してください。 |
Client Persistence Directory | このフィールドの設定方法については「Client Persistence Directory」を参照してください。 |
このページの設定は、Event Monitor Tool を使用する場合にのみ行ってください。Subscribe 設定ページでは、Topic フィルターにワイルドカードを使用して、QoS レベルおよびメッセージ到着時のタイムスタンプの書式をカスタマイズできます。
Topic Filter | このフィールドの設定方法については「Topic Filter」を参照してください。 |
---|---|
Quality of Service | このフィールドの設定方法については「Quality of Service」を参照してください。 |
Timestamp Format | このフィールドの設定方法については「Timestamp Format」を参照してください。 |
この設定の詳細については「Last Will and Testament (LWT) 設定」を参照してください。
この設定の詳細については「Transport Layer Security (TLS) 設定」を参照してください。
負荷テストで MQTT Configure Tool をセットアップ テストとして使用する .tst を実行したい場合、仮想ユーザーのコンテキストで MQTT Configure Tool を実行する必要があります。
Parasoft Burp Suite Extensions は、以下のサード パーティのコンテンツを含みます。
その他のライセンスの詳細については、Parasoft MQTT Extensions の licenses フォルダーを参照してください。