Сценарии клиента для WSDBIT
Все тестовые сценарии управляются с точки зрения клиента. В ограниченных случаях для завершения сценария требуется взаимодействие с устройством. Это требование указывается в соответствующих сценариях.
Если не указано иное, предположим, что тестовое устройство (TestDevice) уже запущено и доступно в сегменте сети, в котором выполняются сценарии.
Некоторые сценарии определяют взаимодействие между клиентом и одной или несколькими размещенными службами в TestDevice.
Клиенты могут получить конечные точки размещенной службы одним из двух способов.
Конечные точки размещенной службы могут быть предоставлены пользователем. Эта ситуация подразумевает, что после запуска TestDevice конечные точки станут известны и могут быть известны стороне, на котором запущен клиент.
Конечные точки размещенной службы можно обнаружить динамически. Эта ситуация подразумевает обнаружение TestDevice. Обнаружение TestDevice может выполняться следующими способами:
- Hello (предполагается, что он инициируется с устройства и имеется поле XAddrs ).
- Обмен пробой и разрешением.
- Сообщение Resolve (предполагается, что адрес urn:uuid конечной точки устройства известен).
Затем можно запросить метаданные, и последующее изучение метаданных HostedService позволит выявить конечные точки.
Клиенты могут выбрать поддержку любого из этих методов, но TestDevice должен поддерживать оба способа получения конечных точек размещенной службы.
Клиенты должны иметь возможность проверять вложение, полученное от TestDevice. Вложение должно быть проверено, загрузив копию ожидаемого вложения в память и выполнив сравнение памяти по байтам на байт для полученного вложения.
Когда клиенты отправляют продление для событий, они могут вручную инициировать продление или автоматически отправить продление по истечении половины периода продления, указанного в исходном сообщении SubscribeResponse.
Примечание Так как тестовые случаи могут иметь зависимости от результатов предыдущих тестовых случаев, тестовые случаи должны выполняться по порядку. (Например, 1.3.8 зависит от результата 1.2.1.) Между сценариями тестирования (например, между сценариями eventing и Attachment) нет зависимостей. Существует неявная зависимость для всех расширенных сценариев в первом сценарии (проверка устройств и служб), так как если не обнаружить TestDevice и проверить размещенные службы, вы не сможете выполнить конкретный расширенный сценарий.
Этот раздел содержит следующие подразделы:
Сценарии проверки устройств и служб