Среда тестирования WSDBIT
В этом разделе описывается физическая среда, устройство и возможности размещенной службы.
Модель сети
Устройство и клиент для тестирования подключены к сегменту сети Ethernet и образуют одну IP-подсеть. Схема сетевой адресации (например, IPv4, IPv6 или имена узлов) не актуальна, если клиент и устройство поддерживают по крайней мере одну общую схему. В подсети должно быть только одно устройство и один клиент.
Чтобы упростить отладку и устранение неполадок, следует использовать сетевой монитор для отслеживания обмена трафиком между устройством и клиентом. Чтобы отслеживать весь трафик, необходимо подключить устройство и клиент через концентратор Ethernet к сегменту сети. Если концентратор недоступен, вы можете отслеживать трафик, установив сетевой монитор на компьютере с WSDBIT.
На следующем рисунке показана топология сети, состоящая из устройства, клиента и сетевого монитора, которые подключены через концентратор.
Тестирование устройства
Чтобы принять участие в тестировании на стороне устройства, следует реализовать устройство, как описано в следующих общих рекомендациях. Дополнительные сведения о реализации устройства см. в справочнике по WSDBIT и спецификации Профиля устройств для веб-служб (DPWS).
В следующей таблице описаны зависимости тестовых случаев взаимодействия и служб.
Сценарий | SimpleService | AttachmentService | EventingService |
---|---|---|---|
Проверка устройств и служб | Одна или несколько служб SimpleService, | AttachmentService, | или EventingService |
Управление устройствами | X | ||
Вложения | X | ||
Обработка событий | X |
На тестовом устройстве должны размещаться три типа служб:
https://schemas.example.org/SimpleService
https://schemas.example.org/AttachmentService
https://schemas.example.org/EventingService
SimpleService
Служба SimpleService имеет четыре метода:
OneWay — это односторонний метод с целым числом в качестве параметра.
TwoWay — это метод запроса-ответа с двумя целыми числами в запросе и суммой этих целых чисел в ответе.
TypeCheck — это метод запроса-ответа с несколькими различными типами в запросе и точно теми же типами в ответе, включая boolean, decimal, float и список URL-адресов.
AnyCheck — это метод "запрос-ответ" с XML-фрагментом в запросе и тем же фрагментом, возвращенным в ответе.
AttachmentService
Служба AttachmentService отправляет и получает вложения. Данные вложения для отправки и получения включаются в каталог \interop в виде двух отдельных файлов: Image1.jpg
и Image2.jpg
. Эта служба имеет два метода:
OneWayAttachment — это односторонний метод с вложением в качестве параметра.
TwoWayAttachment — это метод запроса и ответа с вложениями как в запросе, так и в ответе.
EventingService
Служба EventingService имеет два типа событий, на которые можно подписаться:
SimpleEvent — это событие без параметра.
IntegerEvent — это событие, которое возвращает целое число.
Реализация тестовых служб
Чтобы выполнить все тестовые случаи взаимодействия, необходимо реализовать все эти службы. В этом случае после первоначального запуска на устройстве размещается по одному экземпляру каждой из этих служб.
Однако если вы хотите реализовать только некоторые из этих служб, см. таблицу в начале этой статьи, чтобы получить сведения о зависимостях тестовых случаев службы и взаимодействия.
Примечание
Чтобы попытаться выполнить любой из расширенных сценариев взаимодействия (например, управление устройствами, вложения и события), тестовое устройство по крайней мере поддерживает тестовые случаи проверки устройств и служб. Если устройство не проходит этот тестовый случай, возможно, вы не сможете продолжить работу с расширенными тестами.
Тестовое устройство и устройство WSDBIT (WSDBIT_server) должны иметь следующие возможности:
Отображение целочисленного входного параметра одностороннего метода SimpleService .
Отображение значения типов, отправленных в двустороннем типе проверка запросе.
Проверьте полученное вложение с ожидаемым хорошо известным вложением, которое должно отобразить результат этой проверки.
Инициируйте каждый из двух типов событий, описанных в EventingService , с помощью ручного ввода или таймера.
Отображение данных, полученных в расширяемых разделах (xs:any).
Используйте testdevice xs:anyURI в качестве элемента wsd:Scopes для обнаружения.