Добавление запросов к нагрузочных тестов на основе URL-адресов в Azure Load Testing

Из этой статьи вы узнаете, как добавить HTTP-запросы в нагрузочный тест на основе URL-адресов в Azure Load Testing. Используйте нагрузочный тест на основе URL-адресов для проверки конечных точек HTTP, таких как веб-приложения или конечные точки REST, без предварительного знания средств нагрузочного тестирования и скриптов.

поддержка Azure два способа определения HTTP-запросов в нагрузочном тесте на основе URL-адресов. Оба метода можно объединить в нагрузочном тесте.

  • Укажите сведения о конечной точке HTTP, например URL-адрес конечной точки, метод HTTP, заголовки, параметры запроса или текст запроса.
  • Введите команду cURL для HTTP-запроса.

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

Если вы используете нагрузочный тест на основе URL-адресов в рабочем процессе CI/CD, вы можете передать JSON-файл, содержащий HTTP-запросы к нагрузочному тесту.

Вы можете добавить до пяти запросов к нагрузочному тесту на основе URL-адресов. Для более сложных нагрузочных тестов можно создать нагрузочный тест, отправив скрипт теста JMeter. Например, если у вас более пяти запросов, если вы используете протоколы, отличные от HTTP, или если требуется использовать подключаемые модули JMeter.

Необходимые компоненты

Добавление запросов с подробными сведениями ПО HTTP

Вы можете указать HTTP-запрос для нагрузочного теста на основе URL-адресов, указав сведения о HTTP-запросе. В следующей таблице перечислены поля, которые можно настроить для HTTP-запроса в Azure Load Testing:

Поле Сведения
URL URL-адрес конечной точки HTTP. Например, https://www.contoso.com/products.
Способ Метод HTTP. Нагрузочное тестирование Azure поддерживает GET, POST, PUT, DELETE, PATCH, HEAD и OPTIONS.
Параметры запроса (Необязательно) Введите параметры строки запроса для добавления к URL-адресу.
Заголовки HTTP (Необязательно) Введите заголовки HTTP для включения в HTTP-запрос. Для запроса можно добавить до 20 заголовков.
Текст запроса (Необязательно) В зависимости от метода HTTP можно указать содержимое текста HTTP. Нагрузочное тестирование Azure поддерживает следующие форматы: необработанные данные, представление JSON, JavaScript, HTML и XML.

Выполните следующие действия, чтобы добавить HTTP-запрос в нагрузочный тест на основе URL-адресов:

  1. В портал Azure перейдите к ресурсу нагрузочного тестирования.

  2. В области навигации слева выберите "Тесты ", чтобы просмотреть все тесты.

  3. В списке выберите нагрузочный тест и нажмите кнопку "Изменить".

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

  4. Перейдите на вкладку "План тестирования" и нажмите кнопку "Добавить запрос".

    Screenshot that shows how to add a request to a URL-based load test in the Azure portal.

  5. Выберите " Добавить входные данные в пользовательском интерфейсе" , чтобы ввести сведения о HTTP-запросе.

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

    Поле Description
    Формат запроса Выберите "Добавить входные данные в пользовательском интерфейсе", чтобы настроить сведения о запросе с помощью полей в портал Azure.
    Request name (Имя запроса) Введите уникальное имя запроса. При определении условий сбоя теста можно ссылаться на это имя запроса.
    URL-адрес URL-адрес конечной точки приложения.
    Method Выберите метод HTTP из списка. Нагрузочное тестирование Azure поддерживает GET, POST, PUT, DELETE, PATCH, HEAD и OPTIONS.
    параметры запроса. (Необязательно) Введите параметры строки запроса для добавления к URL-адресу.
    Заголовки (Необязательно) Введите заголовки HTTP для включения в HTTP-запрос.
    Текст (Необязательно) В зависимости от метода HTTP можно также указать содержимое текста HTTP. Нагрузочное тестирование Azure поддерживает следующие форматы: необработанные данные, представление JSON, JavaScript, HTML и XML.

    Screenshot that shows the details page to add an HTTP request by using UI fields in the Azure portal.

  7. Нажмите кнопку "Применить" , чтобы сохранить нагрузочный тест.

Добавление запросов с помощью cURL

Вместо предоставления сведений о HTTP-запросе можно также предоставить команды cURL для HTTP-запросов в нагрузочном тесте на основе URL-адресов. cURL — это средство командной строки и библиотека для запросов на основе URL-адресов.

Выполните следующие действия, чтобы добавить HTTP-запрос в нагрузочный тест с помощью команды cURL.

  1. В списке тестов выберите нагрузочный тест и нажмите кнопку "Изменить".

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

  2. Перейдите на вкладку "План тестирования" и нажмите кнопку "Добавить запрос".

  3. Нажмите кнопку "Добавить cURL" , чтобы создать HTTP-запрос с помощью cURL.

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

    В следующем примере cURL используется для выполнения HTTP-запроса GET, указывающего заголовок HTTP:

    curl --request GET 'http://www.contoso.com/customers?version=1' --header 'api-token: my-token'
    

    Screenshot that shows the details page to add an HTTP request by using a cURL command in the Azure portal.

  5. Нажмите кнопку "Применить" , чтобы сохранить нагрузочный тест.

Использование переменных в HTTP-запросах

Переменные можно использовать в HTTP-запросе, чтобы сделать тесты более гибкими или избегать включения секретов в план тестирования. Например, можно использовать переменную среды с доменным именем конечной точки, а затем использовать имя переменной в отдельных HTTP-запросах. Использование переменных делает план тестирования более гибким и поддерживаемым.

С помощью нагрузочных тестов на основе URL-адресов в Azure Load Testing можно использовать переменные для ссылки на следующие сведения:

Синтаксис для ссылки на переменную в запросе: ${variable-name}

На следующем снимке экрана показано, как ссылаться на token переменную в заголовке HTTP с помощью ${token}.

Screenshot that shows the request details page in the Azure portal, highlighting a variable reference in an HTTP header.

Примечание.

При указании сертификатов Нагрузочное тестирование Azure автоматически передает сертификаты в каждом HTTP-запросе.

Использование переменных ответа для зависимых запросов

Чтобы создать HTTP-запросы, которые отступит по предыдущему запросу, можно использовать переменные ответа. Например, в первом запросе вы можете получить список элементов из API, извлечь идентификатор из первого результата, а затем выполнить последующий и передать этот идентификатор в качестве параметра строки запроса.

Azure Load Testing поддерживает следующие параметры для извлечения значений из HTTP-запроса и хранения их в переменной:

  • JSONPath
  • XPath
  • Регулярное выражение

Например, в следующем примере показано, как использовать XPathExtractor для хранения текста запроса в переменной token ответа. Затем можно использовать ${token} в других HTTP-запросах, чтобы ссылаться на это значение.

"responseVariables": [
    {
        "extractorType": "XPathExtractor",
        "expression": "/note/body",
        "variableName": "token"
    }
]