# Script

**Script assertion** позволяет написать проверочный скрипт на языке JavaScript. Сам скрипт представляет из себя функцию с названием `test`, которая на вход принимает объект assertion-а и объект с переменными (в формате ключ-значение). В случае, если функция возвращает `true` считается, что проверка прошла успешно. Если функция возвращает `false` или бросает исключение, то считается, что запуск **Script assertion**-а завершился с ошибкой.

{% hint style="warning" %}
**Устаревший синтаксис:**&#x20;

Мы настоятельно рекомендуем использовать новый способ описания проверочных скриптов взамен определения функции `test`. У вас появится возможность использовать программный интерфейс ко всем сущностям вашего проекта, использовать встроенные вспомогательные библиотеки (например `lodash` и `chai`), а также определять подробное описание для каждого проверочного утверждения, которое будет отображаться в списке ошибок и консоли.

Ваши тесты, написанные в функции `test` останутся работоспособны, но в дальнейших мажорных релизах будет исключена поддержка этого синтаксиса.
{% endhint %}

### Новый программный интерфейс

**Script assertion** поддерживает такой же программный интерфейс как в **Script** узлах.

{% content-ref url="/pages/-Ll\_fiT--tqog4pfZycd" %}
[Script](/node-types/script.md)
{% endcontent-ref %}

Проверка **Script assertion**-а считается провальной, если в процессе выполнения скрипта было выброшено исключение любого типа, в противном случае считается, что проверка прошла успешно.

### Интерфейс пользователя

Данный **Assertion** имеет интерфейс, аналогичный интерфейсу узла **Script**:

![](/files/-M2ThBMbiJ2D7aKV15Di)

Поле **Name** позволяет задать осмысленное описание для данной проверки.

### Исправление ошибок

У данного **Assertion**-а нет механизма исправления ошибок

### Файловое представление

В файле **Assertion** имеет тип `script` , описание самого типа можно найти в документации к [файловому представлению Assertion](/node-types/assertion.md#failovoe-predstavlenie) в определении `#/definitions/ScriptAssertion` .


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-ru.testmace.com/node-types/assertion/script.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
