Тестовый клиент WCF (WcfTestClient.exe)

Тестовый клиент Windows Communication Foundation (WCF) (WcfTestClient.exe) — это средство графического интерфейса, позволяющее пользователям вводить параметры теста, отправлять входные данные в службу и просматривать ответ, отправляемый службой обратно. Он обеспечивает простой процесс тестирования служб при сочетании с узлом службы WCF.

Обычно тестовый клиент WCF (WcfTestClient.exe) можно найти в следующем расположении: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE сообщество может быть одним из "Корпоративный", "Профессиональный" или "Сообщество" в зависимости от того, какой уровень Visual Studio установлен.

Сценарии использования тестового клиента

В следующих разделах рассматриваются наиболее распространенные сценарии, в которых можно использовать тестовый клиент WCF для упрощения процесса разработки.

В Visual Studio

Узел службы WCF запускает тестового клиента WCF с одной службой

После создания проекта службы WCF и нажатия клавиши F5 для запуска отладчика узел службы WCF начинает размещать службу в проекте. Затем откроется тестовый клиент WCF и отображается список конечных точек службы, определенных в файле конфигурации. Можно протестировать эти параметры и запустить службу, и повторять этот процесс для последовательного тестирования и проверки службы.

Узел службы WCF запускает тестового клиента WCF с несколькими службами

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

Вне Visual Studio

Вы также можете вызвать тестовый клиент WCF (WcfTestClient.exe) за пределами Visual Studio для тестирования произвольной службы в Интернете. Инструмент расположен в следующей папке:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE (где сообщество может быть одним из "Корпоративный", "Профессиональный" или "Сообщество" в зависимости от того, какой уровень Visual Studio установлен на компьютере)

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

Клиент тестирования WCF принимает произвольное количество URI в качестве аргументов командной строки. Это универсальные коды ресурса служб, которые могут быть проверены.

wcfTestClient.exe URI1 URI2 …

После открытия окна тестового клиента WCF щелкните "Служба добавления файлов>" и введите адрес конечной точки службы, которую вы хотите открыть.

Пользовательский интерфейс тестового клиента WCF

Вы можете использовать тестовый клиент WCF с одной службой или несколькими службами.

Операции служб

В левой области главного окна тестового клиента WCF перечислены все доступные службы, а также соответствующие конечные точки и операции.

Если дважды щелкнуть операцию, в правой области внутри новой вкладки с именем операции отображается ее содержимое.

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

Ввод тестовых параметров

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

Чтобы просмотреть XML-файл сообщения, щелкните XML. Чтобы отправить их в службу, нажмите кнопку "Вызвать".

Для параметра DataSet нажмите кнопку ...рядом с элементом "Изменить", чтобы изменить его в новом окне с dataGrid. Обратите внимание на внешний вид кнопок копирования набора данных и вставки набора данных. Если схема объекта DataSet неизвестна при первом изменении, то DataGrid будет пустым. Необходимо вставить в текущий объект в DataGrid объект DataSet с такой же схемой. (Обратите внимание, что перед операцией вставки необходимо скопировать схему из другого места.) Вы также можете скопировать объект набора данных для дальнейшего использования, нажав кнопку "Копировать набор данных ".

Ответ службы отображается под тестовыми параметрами.

Примечание.

Если ожидаемое возвращаемое значение является строкой, результат отображается в виде строки в кавычках, хотя входные значения вводятся без кавычек.

Если при создании контракта для службы некоторая операция была указана как односторонняя, реакция службы не отображается. Как только сообщение поступает в очередь на доставку, появляется диалоговое окно с уведомлением, что сообщение успешно отравлено.

Поддержка сеансов

Поле "Запуск нового прокси-сервера проверка" на вкладке операции службы позволяет переключать поддержку сеансов. По умолчанию этот флажок снят.

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

Если поле "Запуск нового прокси-сервера" проверка проверка, запускается новый прокси-сервер для каждого вызова, завершается предыдущий сценарий сеанса и состояние службы сбрасывается.

Изменение конфигурации клиента

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

Изменение с помощью редактора конфигурации служб

Щелкните правой кнопкой мыши файл конфигурации в левой области и выберите контекстное меню "Изменить" с помощью SvcConfigEditor. Открывается редактор конфигурации служб, в который загружено содержимое конфигурации клиента. В этом средстве конфигурацию можно изменить и сохранить.

После сохранения файла в редакторе конфигурации службы клиент тестирования WCF отображает предупреждение, чтобы сообщить, что файл был изменен вне и спрашивает, хотите ли вы перезагрузить его.

Если выбрать "Да", содержимое конфигурации на вкладке "Client.dll.config" отражает изменения, внесенные в редакторе.

Если выбрать "Нет", содержимое конфигурации на вкладке "Client.dll.config" остается неизменным, а измененное содержимое автоматически сохраняется в исходном файле.

Восстановление конфигурации по умолчанию

Если вы хотите отменить все изменения и восстановить конфигурацию клиента по умолчанию, щелкните правой кнопкой мыши файл конфигурации в левой области и выберите контекстное меню "Восстановить в конфигурацию по умолчанию". Значение конфигурации по умолчанию загружается и содержимое на вкладке "Client.dll.config" восстанавливается.

Проверка изменений

При загрузке сохраненных изменений в клиенте тестирования WCF конфигурация проверка для допустимости схемы WCF. При нахождении ошибок отображается диалоговое окно со сведениями об ошибке.

Во время создания прокси-сервера, двоичного компиляции или вызова службы элементы меню, поддерживающие редактирование (т. е. "Изменить..." и т. д.), отключены. Вызов службы также отключен при загрузке обновленной конфигурации в тестовый клиент WCF.

Сохранение конфигурация клиента

Вкладка "Сервис-параметры-клиент>>" содержит параметр "Всегда повторно создать конфигурацию при запуске служб", которая включена по умолчанию. Этот параметр указывает, что каждый раз, когда клиент тестирования WCF загружает службу, он повторно создает файл конфигурации на основе последних контрактов службы и файлов конфигурации app.config службы.

Если вы изменили конфигурацию клиента для службы WCF и хотите всегда использовать этот обновленный файл для отладки службы, можно отменить проверка параметр повторного создания. При этом даже при обновлении службы и повторном открытии тестового клиента WCF файл Client.dll.config — это тот, который вы обновили ранее вместо повторно созданного на основе обновленной службы.

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

Внимание

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

\Documents and Параметры\[User Account]\My Documents\Test Client Projects.

Все обновленные учетные данные, сохраненные в файле конфигурации клиента, защищены списком управления доступа (ACL) этой папки.

Добавление, удаление и обновление служб

Добавить службу

Щелкните "Служба добавления файлов">, чтобы добавить службу в тестовый клиент WCF. Далее требуется ввести универсальный код ресурса (адрес конечной точки) добавляемой службы. Адрес службы может быть адресом обмена метаданными (MEX) или адресом языка описания веб-служб (WSDL).

Вы также можете найти список из 10 недавно добавленных служб конечных точек в подменю последних служб . При выборе одного из них указанная служба добавляется в клиент тестирования WCF.

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

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

Удаление службы

Щелкните правой кнопкой мыши корневой каталог службы, который нужно удалить, и выберите "Удалить службу", чтобы удалить службу из тестового клиента WCF.

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

Обновление службы

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

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

Расположение файлов, созданных тестовым клиентом.

По умолчанию клиент тестирования WCF сохраняет созданный код клиента и файлы конфигурации в папке "%appdata%\Local\temp\Test Client Projects". Эта папка удаляется после выхода тестового клиента WCF. Если файл конфигурации изменен в клиенте тестирования WCF и параметре Always Regenerate Config При запуске служб отключен, измененный файл копируется в папку CachedConfig в разделе "Мои документы\Тестовые проекты" с xml-файлом сопоставления (метаданные-адрес-имя-имя файла) в качестве индекса.

Вы также можете запустить тестовый клиент WCF в командной строке, /ProjectPath использовать параметр, чтобы указать новый нужный путь для хранения созданных файлов или использовать /RestoreProjectPath параметр для восстановления расположения по умолчанию. Синтаксис выглядит следующим образом:

wcfTestClient.exe /ProjectPath [desired location]

При выполнении этой команды не открывается тестовый клиент WCF. Изменяется только расположение папок. Эту команду можно запустить независимо от того, запущен ли тестовый клиент WCF. Новое расположение применяется при перезапуске тестового клиента WCF. Сведения о расположении можно сохранить в реестре или в файле WcfTestClient.exe.option в папке "%appdata%\Local\temp\Test Client Projects".

Возможности, поддерживаемые тестовым клиентом WCF

Ниже приведен список функций, поддерживаемых клиентом тестирования WCF:

  • Вызов службы: запрос/ответ и одностороннее сообщение.

  • Привязки: все привязки, поддерживаемые программой Svcutil.exe.

  • Управление сеансом.

  • Контракт сообщения.

  • XML-сериализация.

Ниже приведен список функций, которые не поддерживаются клиентом тестирования WCF:

  • Типы: Stream, Message, XmlElement, XmlAttribute, XmlNode, типы, в которых реализован интерфейс IXmlSerializable, включая связанный атрибут XmlSchemaProviderAttribute, а также типы XDocument и XElement и тип ADO.NET DataTable.

  • Дуплексный контракт.

  • Транзакция.

  • Безопасность: CardSpace, Certificate и Username/Password.

  • Привязки: WSFederationbinding, любые контекстные привязки, привязка Https, WebHttpbinding (поддержка ответных сообщений Json).

Закрытие тестового клиента WCF

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

  • В меню Файл выберите пункт Выход. Кроме того, в главном окне тестового клиента WCF нажмите кнопку "Закрыть". Оба этих действия также завершают работу автоматического узла службы WCF и останавливают процесс отладки Visual Studio, если тестовый клиент WCF был запущен Visual Studio.

  • Щелкните правой кнопкой мыши значок узла службы WCF в области уведомлений и нажмите кнопку " Выйти". Это завершает работу автоматического узла службы WCF и тестового клиента WCF и останавливает процесс отладки Visual Studio.

См. также