Практическое руководство. Практическое руководство. Создание теста веб-службы

Область применения:yesVisual StudionoVisual Studio для Mac noVisual Studio Code

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

Примечание

Функция веб-тестов производительности и нагрузочных тестов признана нерекомендуемой в Visual Studio 2019. Для Application Insights многошаговые веб-тесты зависят от файлов веб-тестов в Visual Studio. Как было объявлено ранее, Visual Studio 2019 станет последней версией с поддержкой веб-тестов. Однако поддержка была расширена до Visual Studio 2022. При этом важно отметить следующее. Несмотря на отсутствие новых возможностей, предоставляемые возможности веб-тестов будут доступными в Visual Studio 2022 в течение всего жизненного цикла поддержки этого продукта. (Вы можете запустить существующие веб-тесты или нагрузочные тесты, но шаблоны для создания были удалены.) Группа разработчиков Azure Monitor ответила на многие вопросы о перспективах многоэтапных тестов доступности — см. здесь. Мы рекомендуем использовать Apache JMeter в нагрузочном тесте Azure в качестве альтернативы.

Требования

  • Visual Studio Enterprise
  • Internet Explorer

Примечание

Функции веб-тестов производительности и нагрузочного тестирования поддерживают только Internet Explorer, который недоступен в Windows 11 и некоторых версиях Windows 10. Возможность средства записи для браузера также не рекомендуется, так как для нее требуется Internet Explorer. Подробнее см. в статье Политика жизненного цикла Internet Explorer.

Создание простой веб-службы

Для тестирования можно использовать собственную веб-службу или шаблон базовой веб-службы (ASMX), входящий в состав Visual Studio. Чтобы создать простую веб-службу с помощью этого шаблона, выполните приведенные ниже действия.

  1. В Visual Studio создайте проект, используя шаблон веб-приложения ASP.NET (.NET Framework), и при появлении запроса выберите шаблон Пустой. Введите имя и создайте проект.

  2. В обозревателе решений щелкните узел проекта правой кнопкой мыши и выберите Добавить>Новый элемент, а затем выберите Веб-служба (ASMX) . Добавьте веб-службу.

  3. Откройте файл WebService1.asmx и замените веб-метод по умолчанию HelloWorld на следующий код.

    public string HelloWorld(string str)
    {
       return "Hello, " + str;
    }
    

Установка компонента нагрузочного тестирования

Если у вас еще не установлен компонент инструментов веб-тестирования производительности и нагрузочного тестирования, необходимо сделать это с помощью установщика Visual Studio Installer.

  1. Visual Studio Installer можно также открыть из меню Пуск в Windows. Кроме того, это приложение можно запустить из Visual Studio. Для этого откройте диалоговое окно "Новый проект" или выберите Сервис>Получить средства и компоненты в строке меню.

  2. В приложении Visual Studio Installer перейдите на вкладку Отдельные компоненты и выполните прокрутку вниз до раздела Отладка и тестирование. Выберите Инструменты веб-тестирования производительности и нагрузочного тестирования.

    Компонент

  3. Нажмите кнопку Изменить.

    Будет установлен компонент "Инструменты веб-тестирования производительности и нагрузочного тестирования".

Создание проекта веб-теста

Для веб-теста требуется шаблон "Проект веб-тестов производительности и нагрузочных тестов". В этом разделе мы создадим проект нагрузочного тестирования C#. При необходимости вы также можете создать проект нагрузочного тестирования Visual Basic.

  1. Запустите Visual Studio.

    Если вы используете пример шаблона веб-службы (ASMX), проект веб-теста можно добавить в то же решение.

  2. На начальном экране выберите Создать проект.

  3. На странице Создание проекта введите веб-тест в поле поиска и в результатах выберите шаблон для C# Проект с веб-тестами производительности и нагрузочными тестами [Не рекомендуется]. Нажмите кнопку Далее.

  4. Если вы не хотите использовать предлагаемое по умолчанию имя проекта, введите нужное имя и нажмите кнопку Создать.

    Visual Studio создаст проект и отобразит его файлы в обозревателе решений. Изначально проект содержит один файл веб-теста с именем WebTest1.webtest.

Тестирование веб-службы

  1. Запустите веб-службу и при необходимости выберите Остановить, чтобы приостановить работу службы.

  2. В проекте веб-теста щелкните WebTest1.webtest, который откроется в редакторе веб-тестов производительности. В редакторе тестов щелкните правой кнопкой мыши веб-тест производительности и выберите Добавить запрос веб-службы.

  3. В свойстве URL-адрес нового запроса введите имя веб-службы, например https://localhost:44318/WebService1.asmx .

  4. В веб-службе откройте отдельный сеанс браузера и введите URL-адрес страницы .asmx в панели инструментов Адрес. В верхней части веб-страницы выберите метод, который нужно протестировать, и прочтите сообщение SOAP. (В примере веб-службы используется метод HelloWorld.) При открытии метода вы увидите, что он содержит SOAPAction.

  5. В редакторе веб-тестов производительности щелкните запрос правой кнопкой мыши и выберите команду Добавить заголовок. В поле Имя введите SOAPAction. В поле Значение введите значение, которое отображается в SOAPAction, например http://tempuri.org/HelloWorld .

  6. Разверните узел URL-адреса в редакторе тестов, выберите узел Текст строки и для свойства Тип содержимого введите значение text/xml.

  7. Вернитесь в браузере к шагу 4, выберите XML-часть запроса SOAP на странице описания веб-службы и скопируйте ее в буфер обмена.

    XML-содержимое будет выглядеть примерно так:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <HelloWorld xmlns="http://tempuri.org/">
          <str>string</str>
        </HelloWorld>
      </soap:Body>
    </soap:Envelope>
    
  8. Вернитесь в редактор веб-тестов производительности и нажмите кнопку с многоточием (…) в свойстве Текст строки. Вставьте содержимое буфера обмена в свойство.

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

  10. Щелкните веб-службу правой кнопкой мыши и выберите команду Добавить параметр URL QueryString.

  11. Присвойте параметру строки запроса имя и значение. В предыдущем примере имя равно op, а значение — HelloWorld. Таким образом определяется выполняемая операция веб-службы.

    Примечание

    В тексте SOAP можно использовать привязку данных для замены всех подстановочных значений данными с помощью синтаксиса {{DataSourceName.TableName.ColumnName}}.

  12. Запустите тест. В верхней области средства просмотра результатов веб-тестов производительности выберите запрос веб-службы. В нижней части окна перейдите на вкладку Веб-браузер. Будет показан XML-код, возвращенный веб-службой, и результаты всех операций.

    Найдите результаты для запроса веб-службы.

См. также