WSDBIT のクライアント シナリオ
すべてのテスト シナリオはクライアントの観点から推進されます。 限られたケースでは、シナリオを完了するためにデバイスの操作が必要になります。 この要件は、それぞれのシナリオで示されています。
特に明記されていない限り、テスト デバイス (TestDevice) がすでに起動されており、シナリオが実行されているネットワーク セグメント上で利用可能であると想定します。
一部のシナリオでは、クライアントと TestDevice 内の 1 つ (または複数) のホストされるサービスの間の対話を定義します。
クライアントは、2 つの方法のいずれかでホスト型サービス エンドポイントを取得できます。
ホスト型サービス エンドポイントはユーザーが提供できます。 この状況は、TestDevice が開始された後、エンドポイントが認識され、クライアントを実行しているパーティに認識させることができることを意味します。
ホスト型サービス エンドポイントは動的に検出できます。 この状況は、TestDevice の検出を意味します。 TestDevice の検出は、次の方法で行われます。
- Hello (デバイスから開始され、XAddrs フィールドがあると想定されます)。
- プローブと解決の交換。
- 解決メッセージ (デバイス エンドポイントの urn:uuid アドレスがわかっていることを前提としています)。
その後、メタデータをリクエストすることができ、その後の HostedService メタデータの検査によりエンドポイントが明らかになります。
クライアントはこれらの方法のいずれかをサポートすることを選択できますが、TestDevice はホスト型サービス エンドポイントを取得する両方の方法をサポートする必要があります。
クライアントは、TestDevice から受信した添付ファイルを検証できなければなりません。 添付ファイルは、予期される添付ファイルのコピーをメモリにロードし、受信した添付ファイルのバイトごとのメモリ比較を行うことによって検証する必要があります。
クライアントがイベントの更新を送信する場合、更新を手動で開始するか、元の SubscribeResponse メッセージで指定された更新期間の半分が経過したときに更新を自動的に送信するかを選択できます。
注 テスト ケースは前のテスト ケースの結果に依存する可能性があるため、テスト ケースは順番に実行する必要があります。 (たとえば、1.3.8 は 1.2.1 の結果に依存します。)テスト シナリオ間には依存関係はありません (たとえば、イベント シナリオとアタッチメント シナリオの間には)。 TestDevice の検出とそのホストされるサービスの検査に失敗すると、特定の高度なシナリオが実行できなくなるため、最初のシナリオ (デバイスとサービスの検査) にはすべての高度なシナリオに暗黙の依存関係があります。
ここでは、次のトピックについて説明します。