Поделиться через


Среда тестирования WSDBIT

В этом разделе описывается физическая среда, устройство и возможности размещенной службы.

Модель сети

Устройство и клиент для тестирования подключены к сегменту сети Ethernet и образуют одну IP-подсеть. Схема сетевой адресации (например, IPv4, IPv6 или имена узлов) не актуальна, если клиент и устройство поддерживают по крайней мере одну общую схему. В подсети должно быть только одно устройство и один клиент.

Чтобы упростить отладку и устранение неполадок, следует использовать сетевой монитор для отслеживания обмена трафиком между устройством и клиентом. Чтобы отслеживать весь трафик, необходимо подключить устройство и клиент через концентратор Ethernet к сегменту сети. Если концентратор недоступен, вы можете отслеживать трафик, установив сетевой монитор на компьютере с WSDBIT.

На следующем рисунке показана топология сети, состоящая из устройства, клиента и сетевого монитора, которые подключены через концентратор.

Схема, иллюстрирующая топологию сети для среды тестирования WSDAPI Basic Interoperability Tool (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 для обнаружения.