Добавление запросов к нагрузочных тестов на основе 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.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
- Ресурс нагрузочного тестирования Azure. Сведения о создании ресурса нагрузочного тестирования см. в статье "Создание и запуск нагрузочного теста".
Добавление запросов с подробными сведениями ПО 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-адресов:
В портал Azure перейдите к ресурсу нагрузочного тестирования.
В области навигации слева выберите "Тесты ", чтобы просмотреть все тесты.
В списке выберите нагрузочный тест и нажмите кнопку "Изменить".
Обязательно выберите нагрузочный тест на основе URL-адресов из списка и включите дополнительные параметры на вкладке "Основные сведения".
Перейдите на вкладку "План тестирования" и нажмите кнопку "Добавить запрос".
Выберите " Добавить входные данные в пользовательском интерфейсе" , чтобы ввести сведения о HTTP-запросе.
Введите сведения о 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. Нажмите кнопку "Применить" , чтобы сохранить нагрузочный тест.
Добавление запросов с помощью cURL
Вместо предоставления сведений о HTTP-запросе можно также предоставить команды cURL для HTTP-запросов в нагрузочном тесте на основе URL-адресов. cURL — это средство командной строки и библиотека для запросов на основе URL-адресов.
Выполните следующие действия, чтобы добавить HTTP-запрос в нагрузочный тест с помощью команды cURL.
В списке тестов выберите нагрузочный тест и нажмите кнопку "Изменить".
Обязательно выберите нагрузочный тест на основе URL-адресов из списка и включите дополнительные параметры на вкладке "Основные сведения".
Перейдите на вкладку "План тестирования" и нажмите кнопку "Добавить запрос".
Нажмите кнопку "Добавить cURL" , чтобы создать HTTP-запрос с помощью cURL.
Введите команду cURL в поле команды cURL и нажмите кнопку "Добавить ", чтобы добавить запрос в нагрузочный тест.
В следующем примере cURL используется для выполнения HTTP-запроса GET, указывающего заголовок HTTP:
curl --request GET 'http://www.contoso.com/customers?version=1' --header 'api-token: my-token'
Нажмите кнопку "Применить" , чтобы сохранить нагрузочный тест.
Использование переменных в HTTP-запросах
Переменные можно использовать в HTTP-запросе, чтобы сделать тесты более гибкими или избегать включения секретов в план тестирования. Например, можно использовать переменную среды с доменным именем конечной точки, а затем использовать имя переменной в отдельных HTTP-запросах. Использование переменных делает план тестирования более гибким и поддерживаемым.
С помощью нагрузочных тестов на основе URL-адресов в Azure Load Testing можно использовать переменные для ссылки на следующие сведения:
- Переменные среды: можно настроить переменные среды для нагрузочного теста
- Секреты: настройка секретов Azure Key Vault в нагрузочном тесте
- Значения из csv-входного файла: используйте переменные для столбцов во входном файле CSV и выполните запрос для каждой строки в файле.
- Переменные ответа: извлечение значений из предыдущего HTTP-запроса
Синтаксис для ссылки на переменную в запросе: ${variable-name}
На следующем снимке экрана показано, как ссылаться на token
переменную в заголовке HTTP с помощью ${token}
.
Примечание.
При указании сертификатов Нагрузочное тестирование Azure автоматически передает сертификаты в каждом HTTP-запросе.
Использование переменных ответа для зависимых запросов
Чтобы создать HTTP-запросы, зависящие от предыдущего запроса, можно использовать переменные ответа. Например, в первом запросе вы можете получить список элементов из API, извлечь идентификатор из первого результата, а затем выполнить последующий и передать этот идентификатор в качестве параметра строки запроса.
Azure Load Testing поддерживает следующие параметры для извлечения значений из HTTP-запроса и хранения их в переменной:
- JSONPath
- XPath
- Регулярное выражение
Например, в следующем примере показано, как использовать XPathExtractor для хранения текста запроса в переменной token
ответа. Затем можно использовать ${token}
в других HTTP-запросах, чтобы ссылаться на это значение.
"responseVariables": [
{
"extractorType": "XPathExtractor",
"expression": "/note/body",
"variableName": "token"
}
]