Режим скрипта
В дополнение к обычной конфигурации в пользовательском интерфейсе вы можете использовать режим скрипта для настройки вашего clickpath или мониторов с одним URL. В этом режиме вы можете получить доступ к базовому скрипту JSON вашего монитора. Если вы синтетически продвинутый пользователь, это значительно облегчит вам жизнь и позволит вам ускорить создание и управление clickpath. Используйте редактор скриптов для быстрого поиска определенных событий (шагов), адаптации локаторов по всему скрипту или редактирования частей clickpath без повторной записи.
Вы не ограничены только одним режимом — вы можете переключаться между режимами пользовательского интерфейса и сценария, нажимая переключатель Clickpath / Script .
Доступ к скрипту clickpath
Чтобы отредактировать Clickpath монитора браузера в режиме скрипта:
- Перейдите в раздел Синтетика.
- Выберите монитор clickpath, который вы хотите отредактировать.
- Нажмите кнопку Обзор ( ⮟ ) и выберите Правка .
- Нажмите вкладку Записанный clickpath в меню настроек монитора слева.
- Нажмите script вверху.
Доступ к скрипту с одним URL-адресом
Чтобы отредактировать монитор браузера с одним URL-адресом в режиме скрипта:
- Перейдите в раздел Синтетика.
- Выберите монитор с одним URL-адресом, который вы хотите редактировать.
- Нажмите кнопку Обзор ( ⮟ ) и выберите Правка .
- Нажмите вкладку script монитора в меню настроек монитора слева.
Редактировать сценарий
Вы можете загрузить скрипт (Загрузить скрипт как .json) или просто скопировать его из редактора и редактировать в текстовом редакторе по вашему выбору. Однако вы также можете редактировать скрипт непосредственно в браузере. Это дает следующие преимущества:
- Автозаполнение — просто нажмите Ctrl+Пробел, чтобы увидеть список предложений.
- Подсветка синтаксиса упрощает написание кода скрипта.
- Мгновенная проверка ошибок — редактор мгновенно показывает предупреждение о любой ошибке в скрипте. Наведите курсор на ошибку, чтобы увидеть, что не так, и получить предложение по ее исправлению. Вы не сможете сохранить изменения, пока код не будет свободен от ошибок.
Обратите внимание, что вам необходимо экранировать все специальные символы и переносить строки с помощью обратной косой черты (например, новая строка — \n
, двойные кавычки — \"
, а табуляция — \t
).
Вы можете воспроизвести изменения в скриптах clickpath, не сохраняя их — просто нажмите Воспроизвести clickpath.
Структура скрипта
Модель скрипта
{
"configuration": { "userAgent": "string", "device": { "mobile": true, "touchEnabled": true, "width": 375, "height": 667, "scaleFactor": 2, "deviceName": "string", "orientation": "portrait" }, "bandwidth": { "latency": 1, "download": 1, "upload": 1, "networkType": "WiFi" }, "requestHeaders": { "addHeaders": [ { "name": "string", "value": "string" } ], "toRequests": ["string"] }, "cookies": [ { "name": "string", "value": "string", "domain": "string", "path": "string" } ] }, "version": "1.0", "type": "clickpath", "events": [ { "type": "navigate", "url": "string", "description": "string", "wait": { "waitFor": "page_complete" }, "authentication": { "type": "basic", "masked": true, "username": "string", "password": "string" }, "validate": [ { "type": "content_match", "failIfFound": true, "isRegex": false, "match": "string" } ], "target": { "window": "string" } }, { "type": "click", "description": "string", "button": 0, "wait": { "waitFor": "network" }, "target": { "locators": [ { "type": "css", "value": "string" }, { "type": "dom", "value": "string" } ] }, "validate": [ { "type": "element_match", "failIfFound": false, "target": { "locators": [ { "type": "css", "value": "string" } ] } } ] }, { "type": "javascript", "description": "string", "javaScript": "string", "wait": { "waitFor": "time", "milliseconds": 2000 }, "target": { "window": "string" } }, { "type": "selectOption", "description": "string", "selections": [ { "index": 1, "value": "string" } ], "wait": { "waitFor": "validation", "validation": { "type": "element_match", "failIfFound": false, "match": "string", "target": { "locators": [ { "type": "dom", "value": "string" } ] } }, "timeoutInMilliseconds": 60000 } }, { "type": "cookie", "description": "string", "cookies": [ { "name": "string", "value": "string", "domain": "string", "path": "string" } ] }, { "type": "keystrokes", "description": "string", "textValue": "string", "masked": false, "simulateBlurEvent": true, "wait": { "waitFor": "next_action" } } ] } |
Параметры скрипта
Основной объект скрипта
Содержит скрипт монитора.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
configuration | ScriptConfig | Настройка монитора | необязательный |
type | string | Тип монитора
Возможные значения:
|
необходимый |
version | string | Версия скрипта — используйте значение 1.0 .
|
необходимый |
events | Массив из:
navigateEvent interactionEvent javaScriptEvent selectOptionEvent cookieEvent keystrokesEvent |
Шаги Clickpath — первый шаг всегда должен быть типа navigate .
Обратите внимание, что событие — это не то же самое, что действие — только события, которые запускают веб-запросы, называются действиями, поэтому ваш скрипт может не иметь столько действий, сколько событий. Синтетические действия (похожие на действия пользователя для мониторинга реального пользователя) содержат данные о производительности, собранные во время воспроизведения событий clickpath. Фактический JSON-объект события зависит от его типа:
|
необходимый |
Объект ScriptConfig
Содержит настройку монитора.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
userAgent | string | Пользовательский агент запроса | необязательный |
device | customDevice
or predefinedDevice |
Эмулируемое устройство монитора — содержит либо параметры пользовательского устройства, либо имя и ориентацию предварительно настроенного устройства.
Если не установлено, то |
необязательный |
bandwidth | bandwidthOptions
or predefinedBandwidth |
Эмулированные сетевые условия монитора
Если не установлено, то используется вся доступная пропускания способность. |
необязательный |
requestHeaders | requestHeader[] | Список HTTP-заголовков, отправляемых с запросами монитора | необязательный |
cookies | requestCookie[] | Список файлов cookie, которые будут созданы для монитора
Эти файлы cookie добавляются перед выполнением первого шага. |
необязательный |
Объект customDevice
Содержит эмулируемое устройство монитора.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
mobile | boolean | Флаг мобильного устройства
Установите значение |
необходимый |
touchEnabled | boolean | Флаг сенсорного экрана
Установите |
необходимый |
width | integer | Ширина экрана в пикселях
Максимально допустимая ширина составляет |
необходимый |
height | integer | Высота экрана в пикселях
Максимально допустимая высота составляет |
необходимый |
scaleFactor | integer | Соотношение пикселей устройства | необязательный |
Объект predefinedDevice
Содержит одну из предварительно настроенных эмуляций устройств.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
deviceName | string | Имя предварительно настроенного устройства — при редактировании в браузере нажмите Crtl +Spacebar , чтобы увидеть список доступных устройств.
|
необходимый |
orientation | string | Ориентация устройства — portrait или landscape
Настольные устройства и ноутбуки не могут использовать данную ориентацию |
необходимый |
Объект bandwidthOptions
Содержит эмулированные сетевые условия монитора.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
latency | integer | Задержка сети в миллисекундах | необходимый |
download | integer | Скорость загрузки сети, в байтах в секунду | необходимый |
upload | integer | Скорость отдачи сети, в байтах в секунду | необходимый |
Объект predefinedBandwidth
Содержит предварительно настроенные сетевые эмуляции.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
networkType | string | Тип преднастроенной сети — при редактировании в браузере нажмите Crtl +Spacebar , чтобы увидеть список доступных сетей.
|
необходимый |
Объект requestHeader
Содержит список HTTP-заголовков, отправляемых с запросами монитора.
Следующие заголовки не допускаются:
- user-agent
- cookie
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
name | string | Имя HTTP-заголовка | необходимый |
value | string | Значение заголовка HTTP | необходимый |
Объект requestCookie
Содержит список файлов cookie, которые будут созданы для монитора.
Каждый файл cookie должен быть уникальным в списке. Однако вы можете использовать тот же файл cookie снова в другом случае.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
name | string | Имя файла cookie
Следующие имена файлов cookie не допускаются:
|
необходимый |
value | string | Значение cookie — следующие символы не допускаются: ;,\" .
|
необходимый |
domain | string | Домен cookie | необходимый |
path | string | Путь к файлу cookie | необязательный |
Содержит событие Navigate.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип синтетического события
В данном случае тип события — |
необходимый |
url | string | URL-адрес для перехода | необходимый |
description | string | Краткое описание события, которое будет отображаться в пользовательском интерфейсе. | необходимый |
wait | waitCondition | Условие ожидания события — определяет, как долго Ключ-АСТРОМ должен ждать перед выполнением следующего действия. | необязательный |
validate | validationType[] | Правило проверки для события — помогает вам убедиться, что монитор вашего браузера загружает ожидаемое содержимое страницы или элемент страницы. | необязательный |
target | targetType | Вкладка, на которой должна открываться страница | необязательный |
authentication | plainAuthenticationType или secureAuthenticationType | Учетные данные для обхода маски входа в браузер | необязательный |
Объект interactionEvent
Содержит событие Click или Tap.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип синтетического события
В этом случае, |
необходимый |
description | string | Краткое описание события, которое будет отображаться в пользовательском интерфейсе. | необходимый |
button | integer | Кнопка мыши, которая будет использоваться для щелчка | необходимый |
wait | waitCondition | Условие ожидания события — определяет, как долго Ключ-АСТРОМ должен ждать перед выполнением следующего действия. | необязательный |
validate | validationType[] | Правило проверки для события — помогает вам убедиться, что монитор вашего браузера загружает ожидаемое содержимое страницы или элемент страницы. | необязательный |
target | targetType | Элемент, на который нужно нажать/коснуться | необязательный |
Объект javaScriptEvent
Содержит событие JavaScript.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип синтетического события
В этом случае, |
необходимый |
description | string | Краткое описание события, которое будет отображаться в пользовательском интерфейсе. | необходимый |
javaScript | string | Код JavaScript, который будет выполнен в этом событии | необходимый |
wait | waitCondition | Условие ожидания события — определяет, как долго Ключ-АСТРОМ должен ждать перед выполнением следующего действия. | необязательный |
target | targetType | Вкладка, на которой выполняется код JavaScript | необязательный |
Объект selectOptionEvent
Содержит событие выбора опции.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип синтетического события
В этом случае, |
необходимый |
description | string | Краткое описание события, которое будет отображаться в пользовательском интерфейсе. | необходимый |
selections | listOptions[] | Варианты выбора | необходимый |
wait | waitCondition | Условие ожидания события — определяет, как долго Ключ-АСТРОМ должен ждать перед выполнением следующего действия. | необязательный |
validate | validationType[] | Правило проверки для события — помогает вам убедиться, что монитор вашего браузера загружает ожидаемое содержимое страницы или элемент страницы. | необязательный |
target | targetType | Тег выбора выпадающего списка | необязательный |
Объект cookieEvent
Содержит событие Cookie.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип синтетического события
В этом случае, |
необходимый |
description | string | Краткое описание события, которое будет отображаться в пользовательском интерфейсе. | необходимый |
cookies | requestCookie[] | Список файлов cookie, которые будут созданы во время мероприятия
Каждый файл cookie должен быть уникальным в списке. Однако вы можете использовать тот же файл cookie снова в другом случае. |
необходимый |
Объект keystrokesEvent
Содержит событие keystrok.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип синтетического события
В этом случае, |
необходимый |
description | string | Краткое описание события, которое будет отображаться в пользовательском интерфейсе. | необходимый |
textValue | string | Текст для ввода | необходимый |
masked | boolean | Указывает, зашифровано ли textValue (true ) или нет (false ).
|
необходимый |
simulateBlurEvent | boolean | Определяет, следует ли размывать текстовое поле при потере фокуса.
Установите |
необходимый |
wait | waitCondition | Условие ожидания события — определяет, как долго Ключ-АСТРОМ должен ждать перед выполнением следующего действия. | необязательный |
validate | validationType[] | Правило проверки для события — помогает вам убедиться, что монитор вашего браузера загружает ожидаемое содержимое страницы или элемент страницы. | необязательный |
target | targetType | Объект для ввода текста | необязательный |
Объект waitCondition
Содержит условие ожидания события.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
waitFor | string | Время ожидания до срабатывания следующего события
Возможные значения:
|
необходимый |
milliseconds | integer | Время ожидания в миллисекундах
Максимально допустимое значение — |
необходимый для типа time
В противном случае не применимо |
timeoutInMilliseconds | integer | Максимальное время ожидания появления определенного элемента в миллисекундах. При превышении этого времени действие помечается как невыполненное.
Максимально допустимое значение — |
необходимый для типа validation
В противном случае не применимо |
validation | validationType[] | Элемент, который нужно ждать | необходимый для типа validation
В противном случае не применимо |
Объект validationType
Содержит правило проверки для события или правила ожидания.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Цель проверки:
|
необходимый |
match | string | Содержание, которое следует искать на странице
Регулярные выражения разрешены. В этом случае установите isRegex как |
необходимый для content_match
необязательный для |
isRegex | boolean | Определяет, является ли соответствие простым текстом (false ) или регулярным выражением (true ).
|
необязательный |
failIfFound | boolean | Условие проверки:
|
необходимый |
target | targetType | Элемент, который нужно искать на странице | необходимый для element_match
необязательный для |
Объект plainAuthenticationType
Простые учетные данные для входа в систему, чтобы обойти маску входа в браузер во время события Navigate
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип аутентификации — http_authentication или webform .
Тип аутентификации |
необязательный |
username | string | Имя пользователя для входа в систему. | необходимый |
password | string | Пароль для входа в систему.
Он содержит не сам пароль, а его уникальный ID, а сам пароль хранится в Ключ-АСТРОМ и находится по ID. Если изменить ID, то сохраненный пароль станет недоступным. Чтобы изменить пароль, установите замаскированное свойство как |
необходимый |
masked | boolean | Флаг замаскированного пароля
Настройте ввод нового пароля на |
необязательный |
Объект secureAuthenticationType
Учетные данные для входа в систему, позволяющие обойти маску входа в браузер во время события Navigate.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип аутентификации — http_authentication или webform .
Тип аутентификации |
необязательный |
credential | credentialType | Объект учетных данных, содержащий имя пользователя и пароль. | необходимый |
domain | string | Домен Kerberos. | необходимый для kerberos
|
authServerAllowlist | string | Список разрешенных серверов для аутентификации kerberos. Можно использовать подстановочные знаки. Точные данные приведены в документации Chrome Enterprise . | необходимый для kerberos
|
Объект credentialType
Учетные данные из хранилища учетных данных.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
id | string | Идентификатор учетных данных в хранилище учетных данных. | необходимый |
credentialField | string | Тип аутентификации — username или password .
|
необязательный |
Объект listOptions
Содержит параметры, которые необходимо выбрать в событии Выбор опции.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
index | integer | Индекс выбираемого варианта | необходимый |
value | string | Значение выбираемого варианта | необходимый |
Объект targetType
Содержит целевую вкладку или элемент события.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
window | string | Вкладка цели | необязательный |
locators | locatorType[] | Список локаторов, идентифицирующих нужный элемент | необязательный |
Объект locatorType
Содержит элемент страницы для поиска.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Определяет, где искать элемент:
|
необходимый |
value | string | Имя элемента, который нужно найти | необходимый |