Настройка Assertions¶
Assertions используются для проверки запроса, ответа или URL на соответствие заданным условиям, например, наличие в ответе определенной строки.
Если хотя бы одно условие Assertions не выполняется, то запрос считается ошибочным.
Проверить результаты Assertions можно в дашборде Grafana.
Настройка Assertions для HTTP-запроса¶
Откройте тест.
Перейдите в группу или нажмите
.Нажмите
для нужного HTTP-запроса и перейдите на вкладку Assertions:
В выпадающем списке выберите одно из значений:
Request body. Тело запроса.
Выберите тип условия:
Equals. Assertion успешен, если все тело запроса полностью совпадает с указанной строкой. Регистр учитывается;
Not equals. Assertion успешен, если тело запроса не совпадает с указанной строкой. Регистр учитывается;
Not substring. Assertion успешен, если тело запроса не содержит указанную строку. Регистр учитывается;
Regexp contains. Assertion успешен, если тело запроса содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если все тело запроса полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если тело запроса не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все тело запроса не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если тело запроса содержит указанную строку. Регистр учитывается.
Укажите строку или регулярное выражение.
Например, проверим, что тело запроса содержит параметр
name:
Request headers. Заголовки запроса.
Выберите тип условия:
Equals. Assertion успешен, если весь заголовок запроса полностью совпадает с указанной строкой. Регистр учитывается;
Not equals. Assertion успешен, если заголовок запроса не совпадает с указанной строкой. Регистр учитывается;
Not substring. Assertion успешен, если заголовок запроса не содержит указанную строку. Регистр учитывается;
Regexp contains. Assertion успешен, если заголовок запроса содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если весь заголовок запроса полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если заголовок запроса не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если весь заголовок запроса не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если заголовок запроса содержит указанную строку. Регистр учитывается.
Укажите строку или регулярное выражение.
Например, проверим, что заголовок Accept-Language имеет значение
en-US:
Response body. Тело ответа.
В выпадающем списке выберите одно из значений:
No filter. Фильтры JSONPath и Xpath не используются:
Выберите тип условия:
Equals. Assertion успешен, если все тело ответа полностью совпадает с указанной строкой. Регистр учитывается;
Not equals. Assertion успешен, если тело ответа не совпадает с указанной строкой. Регистр учитывается;
Not substring. Assertion успешен, если тело ответа не содержит указанную строку. Регистр учитывается;
Regexp contains. Assertion успешен, если тело ответа содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если все тело ответа полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если тело ответа не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все тело ответа не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если тело ответа содержит указанную строку. Регистр учитывается.
Укажите строку или регулярное выражение.
Например, проверим, что тело ответа содержит параметр
name:
JSONPath. Язык запросов к элементам JSON-файла. Подробнее см. статью JSON path syntax in detail:
Укажите выражение jSONPath.
В выпадающем списке выберите тип условия:
Equals. Assertion успешен, если все тело ответа полностью совпадает с указанной строкой. Регистр учитывается;
Exists. Assertion успешен, если JSON-путь существует;
Is not null. Assertion успешен, если значение не равно
null;Is null. Assertion успешен, если значение равно
null;Not equals. Assertion успешен, если тело ответа не совпадает с указанной строкой. Регистр учитывается;
Not exists. Assertion успешен, если JSON-путь не существует;
Regexp matches. Assertion успешен, если все тело ответа полностью соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все тело ответа не соответствует шаблону регулярного выражения.
Укажите строку или регулярное выражение.
Например, проверим, что цена первого телефона в теле ответа не равна
null:
XPath. Язык запросов к элементам XML-документа. Подробнее см. статью XPath Syntax:
В выпадающем списке выберите тип условия:
Matches. Assertion успешен, если тело ответа соответствует XPath-выражению;
Not matches. Assertion успешен, если тело ответа не соответствует XPath-выражению.
Укажите XPath-выражение.
Например, проверим, название телефона в теле ответа с
id=1:
Response body size. Размер тела ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер тела ответа в байтах. Например:
Response code. Код ответа.
Выберите тип условия:
Equals. Assertion успешен, если весь код ответа полностью совпадает с указанной строкой;
Not equals. Assertion успешен, если код ответа не совпадает с указанной строкой;
Not substring. Assertion успешен, если код ответа не содержит указанную строку;
Regexp contains. Assertion успешен, если код ответа содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если весь код ответа полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если код ответа не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если весь код ответа не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если код ответа содержит указанную строку.
Укажите строку или регулярное выражение. Например:
Response code size. Размер кода ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер кода ответа в байтах. Например:
Response document. Текст документа, возвращаемого веб-сервером. Список поддерживаемых форматов документов см. на странице Apache Tika Supported Document Formats.
Выберите тип условия:
Equals. Assertion успешен, если весь текст документа полностью совпадает с указанной строкой;
Not equals. Assertion успешен, если текст документа не совпадает с указанной строкой;
Not substring. Assertion успешен, если текст документа не содержит указанную строку;
Regexp contains. Assertion успешен, если текст документа содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если весь текст документа полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если текст документа не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если весь текст документа не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если текст документа содержит указанную строку.
Укажите строку или регулярное выражение.
Например, проверим, что документ содержит строку
<html>:
Response duration. Время отклика на запрос.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемое время отклика на запрос в миллисекундах.
Например, проверим, что время отклика не превышает 5 секунд:
Response full size. Размер заголовков и тела ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер заголовков и тела ответа в байтах, например:
Response headers. Заголовки ответа.
Выберите тип условия:
Equals. Assertion успешен, если весь заголовок ответа совпадает с указанной строкой;
Not equals. Assertion успешен, если заголовок ответа не совпадает с указанной строкой;
Not substring. Assertion успешен, если заголовок ответа не содержит указанную строку;
Regexp contains. Assertion успешен, если заголовок ответа содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если весь заголовок ответа полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если заголовок ответа не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если весь заголовок ответа не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если заголовок ответа содержит указанную строку.
Укажите строку или регулярное выражение.
Например, проверим, что заголовок user-agent не содержит стандартное значение
user-agent: Mozilla/5.0:
Response headers size. Размер заголовков ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер заголовков ответа в байтах. Например:
Response message. Сообщение ответа.
Выберите тип условия:
Equals. Assertion успешен, если все сообщение ответа полностью совпадает с указанной строкой;
Not equals. Assertion успешен, если сообщение ответа не совпадает с указанной строкой;
Not substring. Assertion успешен, если сообщение ответа не содержит указанную строку;
Regexp contains. Assertion успешен, если сообщение ответа содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если все сообщение ответа полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если сообщение ответа не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все сообщение ответа не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если сообщение ответа содержит указанную строку.
Укажите строку или регулярное выражение.
Например, проверим, что сообщение ответа содержит текст
Not found:
Response message size. Размер сообщения ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер сообщения ответа в байтах. Например:
URL Sampled. Используется для проверки, что при выполнении запроса не произошло редиректа, и URL остался прежним.
Выберите тип условия:
Equals. Assertion успешен, если весь URL полностью совпадает с указанной строкой;
Not equals. Assertion успешен, если URL не совпадает с указанной строкой;
Not substring. Assertion успешен, если URL не содержит указанную строку;
Regexp contains. Assertion успешен, если URL содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если весь URL полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если URL не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если весь URL не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если URL содержит указанную строку.
Укажите строку или регулярное выражение.
Например, проверим, что URL – ссылка на товар в интернет-магазине:
Нажмите Сохранить.
Чтобы удалить настройку, нажмите
.
Настройка Assertions для gRPC-запроса¶
Откройте тест.
Перейдите в группу или нажмите
.Нажмите
для нужного gRPC-запроса и перейдите на вкладку Assertions:
В выпадающем списке выберите одно из значений:
Request body. Тело запроса.
Выберите тип условия:
Equals. Assertion успешен, если все тело запроса полностью совпадает с указанной строкой. Регистр учитывается;
Not equals. Assertion успешен, если тело запроса не совпадает с указанной строкой. Регистр учитывается;
Not substring. Assertion успешен, если тело запроса не содержит указанную строку. Регистр учитывается;
Regexp contains. Assertion успешен, если тело запроса содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если все тело запроса полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если тело запроса не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все тело запроса не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если тело запроса содержит указанную строку. Регистр учитывается.
Укажите строку или регулярное выражение.
Например, проверим, что тело запроса содержит параметр
name:
Request metadata. Метаданные запроса.
Выберите тип условия:
Equals. Assertion успешен, если все метаданные запроса полностью совпадают с указанной строкой. Регистр учитывается;
Not equals. Assertion успешен, если метаданные запроса не совпадают с указанной строкой. Регистр учитывается;
Not substring. Assertion успешен, если метаданные запроса не содержат указанную строку. Регистр учитывается;
Regexp contains. Assertion успешен, если метаданные запроса содержат строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если все метаданные запроса полностью соответствуют шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если метаданные запроса не содержат строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все метаданные запроса не соответствуют шаблону регулярного выражения;
Substring. Assertion успешен, если метаданные запроса содержат указанную строку. Регистр учитывается.
Укажите строку или регулярное выражение.
Например, проверим, значение ID запроса:
Response body. Тело ответа.
В выпадающем списке выберите одно из значений:
No filter. Фильтры JSONPath и Xpath не используются:
Выберите тип условия:
Equals. Assertion успешен, если все тело ответа полностью совпадает с указанной строкой. Регистр учитывается;
Not equals. Assertion успешен, если тело ответа не совпадает с указанной строкой. Регистр учитывается;
Not substring. Assertion успешен, если тело ответа не содержит указанную строку. Регистр учитывается;
Regexp contains. Assertion успешен, если тело ответа содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если все тело ответа полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если тело ответа не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все тело ответа не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если тело ответа содержит указанную строку. Регистр учитывается.
Укажите строку или регулярное выражение.
Например, проверим, что тело ответа содержит параметр
name:
JSONPath. Язык запросов к элементам JSON-файла. Подробнее см. статью JSON path syntax in detail:
Укажите выражение jSONPath.
В выпадающем списке выберите тип условия:
Equals. Assertion успешен, если все тело ответа полностью совпадает с указанной строкой. Регистр учитывается;
Exists. Assertion успешен, если JSON-путь существует;
Is not null. Assertion успешен, если значение не равно
null;Is null. Assertion успешен, если значение равно
null;Not equals. Assertion успешен, если тело ответа не совпадает с указанной строкой. Регистр учитывается;
Not exists. Assertion успешен, если JSON-путь не существует;
Regexp matches. Assertion успешен, если все тело ответа полностью соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все тело ответа не соответствует шаблону регулярного выражения.
Укажите строку или регулярное выражение.
Например, проверим, что цена первого телефона в теле ответа не равна
null:
XPath. Язык запросов к элементам XML-документа. Подробнее см. статью XPath Syntax:
В выпадающем списке выберите тип условия:
Matches. Assertion успешен, если тело ответа соответствует XPath-выражению;
Not matches. Assertion успешен, если тело ответа не соответствует XPath-выражению.
Укажите XPath-выражение.
Например, проверим, название телефона в теле ответа с
id=1:
Response body size. Размер тела ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер тела ответа в байтах. Например:
Response code. Код ответа.
Выберите тип условия:
Equals. Assertion успешен, если весь код ответа полностью совпадает с указанной строкой;
Not equals. Assertion успешен, если код ответа не совпадает с указанной строкой;
Not substring. Assertion успешен, если код ответа не содержит указанную строку;
Regexp contains. Assertion успешен, если код ответа содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если весь код ответа полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если код ответа не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если весь код ответа не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если код ответа содержит указанную строку.
Укажите строку или регулярное выражение. Например:
Response code size. Размер кода ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер кода ответа в байтах. Например:
Response document. Текст документа, возвращаемого веб-сервером. Список поддерживаемых форматов документов см. на странице Apache Tika Supported Document Formats.
Выберите тип условия:
Equals. Assertion успешен, если весь текст документа полностью совпадает с указанной строкой;
Not equals. Assertion успешен, если текст документа не совпадает с указанной строкой;
Not substring. Assertion успешен, если текст документа не содержит указанную строку;
Regexp contains. Assertion успешен, если текст документа содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если весь текст документа полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если текст документа не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если весь текст документа не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если текст документа содержит указанную строку.
Укажите строку или регулярное выражение.
Например, проверим, что документ содержит строку
<html>:
Response duration. Время отклика на запрос.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемое время отклика на запрос в миллисекундах.
Например, проверим, что время отклика не превышает 5 секунд:
Response full size. Размер метаданных и тела ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер метаданных и тела ответа в байтах, например:
Response message. Сообщение ответа.
Выберите тип условия:
Equals. Assertion успешен, если все сообщение ответа полностью совпадает с указанной строкой;
Not equals. Assertion успешен, если сообщение ответа не совпадает с указанной строкой;
Not substring. Assertion успешен, если сообщение ответа не содержит указанную строку;
Regexp contains. Assertion успешен, если сообщение ответа содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если все сообщение ответа полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если сообщение ответа не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все сообщение ответа не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если сообщение ответа содержит указанную строку.
Укажите строку или регулярное выражение.
Например, проверим, что сообщение ответа содержит текст
Not found:
Response message size. Размер сообщения ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер сообщения ответа в байтах. Например:
Response metadata. Метаданные ответа.
Выберите тип условия:
Equals. Assertion успешен, если все метаданные ответа совпадают с указанной строкой;
Not equals. Assertion успешен, если метаданные ответа не совпадают с указанной строкой;
Not substring. Assertion успешен, если метаданные ответа не содержат указанную строку;
Regexp contains. Assertion успешен, если метаданные ответа содержат строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если все метаданные ответа полностью соответствуют шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если метаданные ответа не содержат строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если все метаданные ответа не соответствуют шаблону регулярного выражения;
Substring. Assertion успешен, если метаданные ответа содержат указанную строку.
Укажите строку или регулярное выражение.
Например, проверим, значение ID запроса:
Response metadata size. Размер метаданных ответа.
В выпадающем списке выберите операцию сравнения.
Укажите ожидаемый размер метаданных ответа в байтах. Например:
URL Sampled. Используется для проверки, что при выполнении запроса не произошло редиректа, и URL остался прежним.
Выберите тип условия:
Equals. Assertion успешен, если весь URL полностью совпадает с указанной строкой;
Not equals. Assertion успешен, если URL не совпадает с указанной строкой;
Not substring. Assertion успешен, если URL не содержит указанную строку;
Regexp contains. Assertion успешен, если URL содержит строку, которая соответствует шаблону регулярного выражения;
Regexp matches. Assertion успешен, если весь URL полностью соответствует шаблону регулярного выражения;
Regexp not contains. Assertion успешен, если URL не содержит строку, которая соответствует шаблону регулярного выражения;
Regexp not matches. Assertion успешен, если весь URL не соответствует шаблону регулярного выражения;
Substring. Assertion успешен, если URL содержит указанную строку.
Укажите строку или регулярное выражение.
Например, проверим, что URL – ссылка на товар в интернет-магазине:
Нажмите Сохранить.
Чтобы удалить настройку, нажмите
.
См. также
Предпросмотр ответа¶
Для удобства настройки Assertions воспользуйтесь предварительным просмотром ответа:
Выберите источник данных, например, HAR.
Перейдите на необходимую вкладку: Headers, Body, Cookies: