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


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

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

Сетевая модель

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

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

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

Схема, иллюстрирующая топологию сети в среде тестирования базового инструмента для взаимодействия WSDAPI (WSDBIT).

Тестовое устройство

Чтобы принять участие в тестировании на стороне устройства, необходимо реализовать устройство, как описано в следующих общих рекомендациях. Дополнительные сведения о реализации устройства см. в справочнике по WSDBIT и спецификации профиля устройств для веб-служб (DPWS).

В следующей таблице описаны зависимости тестового случая обслуживания и взаимодействия.

Сценарий SimpleService Служба Вложений EventingService
Проверка устройств и служб Одна или несколько из SimpleService, Сервис вложений или EventingService
Управление устройствами X
Вложения X
Обработка событий X

Тестовое устройство должно размещать три типа служб:

  • https://schemas.example.org/SimpleService

  • https://schemas.example.org/AttachmentService

  • https://schemas.example.org/EventingService

SimpleService

Служба SimpleService имеет четыре метода:

  • OneWay — это односторонний метод с целым числом в качестве параметра.

  • TwoWay — это метод ответа запроса с двумя целыми числами в запросе и суммой этих целых чисел в ответе.

  • TypeCheck — это метод ответа запроса с несколькими различными типами в запросе и точно теми же типами в ответе, включая логический, десятичный, плавающий и список URL-адресов.

  • AnyCheck — это метод ответа запроса с фрагментом XML в запросе и тот же фрагмент, возвращенный в ответе.

СервисВложений

Служба AttachmentService отправляет и получает вложения. Данные вложения для отправки и получения включаются в каталог \interop в виде двух отдельных файлов: Image1.jpg и Image2.jpg. Эта служба имеет два метода:

  • OneWayAttachment — это односторонний метод с вложением в качестве параметра.

  • TwoWayAttachment — это метод ответа запроса с вложениями как в запросе, так и в ответе.

EventingService

Служба EventingService имеет два типа событий, на которые можно подписаться:

  • SimpleEvent — это событие без параметра.

  • IntegerEvent — это событие, возвращающее целое число.

Реализация тестовых служб

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

Однако если вы хотите реализовать только некоторые из этих служб, ознакомьтесь с таблицей в начале этого раздела, чтобы получить сведения о зависимостях тестового случая для службы и Интероп.

Замечание

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

Тестовое устройство и устройство WSDBIT (WSDBIT_server) должны выполнять следующие действия:

  • Отображение целочисленного входного параметра односторонного метода SimpleService .

  • Отобразить значения типов, отправленных в двустороннем запросе проверки типа.

  • Проверьте, что полученное вложение соответствует ожидаемому и известному вложению, и должно быть отображен результат этой проверки.

  • Инициируйте каждый из двух видов событий, описанных в EventingService , с помощью ручного ввода или таймера.

  • Отображение данных, полученных в расширяемых разделах (xs:any).

  • Используйте xs:anyURI testdevice в качестве элемента wsd:Scopes для обнаружения.