> For the complete documentation index, see [llms.txt](https://docs-ru.testmace.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-ru.testmace.com/node-types/assertion/script.md).

# 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` .
