Режим скрипта HTTP-мониторинга
В дополнение к настройке в пользовательском интерфейсе (визуальный режим), вы можете использовать режим скрипта для настройки ваших HTTP-мониторов. В этом режиме вы можете получить доступ к базовому скрипту JSON вашего монитора. Если вы опытный пользователь Синтетического мониторинга, это значительно облегчит вам жизнь и позволит ускорить создание и управление мониторами. Используйте редактор скриптов для быстрого поиска определенных событий (шагов) или адаптации локаторов по всему скрипту.
Вы не ограничены только одним режимом — вы можете переключаться между режимами пользовательского интерфейса и скриптом, выбрав Визуальный режим / Режим скрипта.
Доступ к скрипту
Чтобы редактировать HTTP-монитор в режиме скрипта:
- Перейдите в раздел Синтетика и выберите просмотр мониторов в режиме списка.
- Установите флажок рядом с монитором, который вы хотите редактировать > выберите Редактировать в левом нижнем углу.
- Выберите вкладку HTTP-запросы в настройках монитора слева.
- Выберите Режим скрипта вверху.
Редактировать скрипт
Вы можете загрузить скрипт (Загрузить как скрипт .json) или просто скопировать его из редактора и редактировать в текстовом редакторе по вашему выбору. Однако вы также можете редактировать скрипт непосредственно в браузере. Это дает следующие преимущества:
- Автозаполнение — просто нажмите Ctrl+Пробел, чтобы увидеть список предложений.
- Подсветка синтаксиса - упрощает написание кода скрипта.
- Мгновенная проверка ошибок — редактор мгновенно показывает предупреждение о любой ошибке в скрипте. Наведите курсор на ошибку, чтобы увидеть, что не так, и получить предложение по ее исправлению. Вы не сможете сохранить изменения, пока код не будет свободен от ошибок.
Обратите внимание, что вам необходимо экранировать все специальные символы и переносить строки с помощью обратной косой черты (например, новая строка — \n
, двойные кавычки — \"
, а табуляция — \t
).
Структура скрипта
Параметры скрипта
Основной объект скрипта
Содержит скрипт монитора.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
version | string | Версия скрипта — используйте значение здесь 1.0 .
|
необходимый |
requests | Array of:
request |
Список HTTP-запросов, которые должен выполнить монитор
Запросы выполняются в том порядке, в котором они указаны в скрипте. |
необходимый |
Объект request
Содержит параметры HTTP-запроса.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
description | string | Краткое описание события, которое будет отображаться в веб-интерфейсе. | необязательный |
url | string | URL для проверки | необходимый |
method | string | HTTP-метод запроса | необходимый |
requestBody | string | Тело HTTP-запроса — необходимо экранировать все символы JSON.
Устанавливается в значение null, если метод запроса — GET, HEAD или OPTIONS. |
необязательный |
validation | requestValidation | Конфигурация проверки запроса
Проверка помогает вам убедиться, что ваш HTTP-монитор загружает ожидаемый контент. |
необязательный |
configuration | requestConfiguration | Настройка монитора | необязательный |
preProcessingScript | string | Скрипт , выполненный до запроса
Необходимо экранировать все символы JSON и переносить строки с помощью |
необязательный |
postProcessingScript | string | Скрипт , выполненный после запроса
Необходимо экранировать все символы JSON и переносить строки с помощью |
необязательный |
Объект requestValidation
Содержит конфигурацию проверки для запроса.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
rules | Array of:
validationRule |
Список правил проверки | необязательный |
Для проверки HTTP-монитора оцениваются следующие типы правил (см. validationRule):
- Проверка кода статуса ответа
- Проверка текста, при которой тело ответа проверяется на наличие строки текста или регулярного выражения.
- Проверка срока действия SSL-сертификата
Это означает, что монитор не будет работать, если хотя бы одно из этих правил со знаком passIfFound
= false
будет выполнено или хотя бы одно правило со знаком passIfFound
= true
не будет выполнено.
Монитор будет успешно выполнен, если все правила со знаком passIfFound
= false
не выполнены и все правила со знаком passIfFound
= true
выполнены.
Объект validationRule
Содержит правило проверки.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип правила — возможные значения:
|
необходимый |
passIfFound | boolean | Условие проверки:
Всегда указывайте |
необходимый |
value | string | Содержание, которое нужно искать | необходимый |
Объект requestConfiguration
Содержит настройку монитора.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
userAgent | string | Пользовательский агент запроса | необязательный |
acceptAnyCertificate | boolean | Принимать любой (true ) или только доверенный (false ) SSL-сертификат.
Если установлено значение Если не задано |
необязательный |
followRedirects | boolean | Следуйте (true ) или не следуйте (false ) перенаправлениям.
Если установлено значение Если не задано |
необязательный |
requestHeaders | Array of:
requestHeader |
Список дополнительных заголовков для запроса
По умолчанию установлен только заголовок User-Agent. Вы не можете установить или изменить этот заголовок здесь. Используйте |
необязательный |
ОбъектrequestHeader
Содержит HTTP-заголовок запроса.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
name | string | Ключ заголовка | необходимый |
value | string | Значение заголовка | необходимый |
Модель скрипта
Это модель скрипта JSON, показывающая все возможные элементы. Его нужно настроить, чтобы использовать как настоящий скрипт. Чтобы увидеть пример скрипта реального монитора, вы можете проверить любой существующий HTTP-монитор в режиме скрипта.
{
"version": "1.0", "requests": [ { "description": "string", "url": "string", "method": "POST", "requestBody": "{\n\"customParameter1\": \"customValue1\",\n\"customParameter2\": true,\n\"customParameter3\": 452\n}", "validation": { "rules": [ { "type": "patternConstraint", "passIfFound": true, "value": "string" }, { "type": "regexConstraint", "passIfFound": true, "value": "string" } ], "rulesChaining": "or" }, "configuration": { "userAgent": "string", "acceptAnyCertificate": false, "followRedirects": true, "requestHeaders": [ { "name": "string", "value": "string" } ] }, "preProcessingScript": "string", "postProcessingScript": "string" } ] } |