TGViewer
Сергей Турулин Сергей Турулин @adobescript · 502 subscribers
Post #184 663
Автоматические тесты для Адоба

Давно была идея сделать тестирование скриптов для Индизайна и Иллюстратора. Пользуясь тестами на бэкенде и фронтенде, хочется тоже нажать волшебную кнопочку и наблюдать за прогресс-баром, успехами и падениями тестов. Мечта!

Но в Иллюстраторе и Индизайне у тебя на выходе файл, в котором «что-то произошло». Если пытаться после запуска скрипта писать ещё один скрипт, который будет открывать файл и проверять, сколько там у тебя создалось этих кружочков, то это с ума можно сойти!

Да, ты можешь проверить создание файлов, которые должен экспортировать твой скрипт. Ты можешь получить в результате скрипта успех/не успех. Но как быть с параметрами запуска скрипта, особенно когда у тебя большой список этих параметров да ещё и в какой-нибудь джейсон-структуре?

Ответ оказался достаточно прост, хотя пришлось повозиться с первой версией этого добра.

Когда программируешь под Адоб, всегда пишешь лог-файлы, потому что нет у Адоба консоли, где видны значения переменных и объектов. И вот ты на рабочем столе, например, делаешь лог-файл, куда пишешь всё, что хочешь.

Так вот у нас и готова база для тестирования! Просто надо логи писать рядом Адоб-файлом. И состоит система из:
1. файл, в котором запускается скрипт,
2. файлы, которые получились,
3. лог-файл.

Магическая папочка tests содержит:
1. конфиг-файл, где прописывается путь до запускаемого скрипта,
2. если надо, то файл входящих переменных, которые скрипт создаст перед каждой попыткой,
3. адрес папки, где лежит файл клиента,
4. список проверок, то есть тех самых тестов.

На текущий момент у меня уже проверки:
— есть ошибка или нет, точный текст ошибки, текст ошибки может содержать текст,
— сколько и каких файлов создалось и в каких папках,
— какие объекты были созданы и на каких позициях.

И этого уже вполне достаточно, чтобы быть спокойным за внесение изменений в скрипт.

То есть скрипт-тестировщик должен просто:
1. зайти в папку с очередным исходных файлом, загрузить переменные при необходимости,
2. открыть файл и выполнить скрипт, закрыть файл,
3. пройтись по лог-файлу и найти там все нужные статусы, значения, тексты ошибок, уведомления успехов,
4. пройтись по файлам, если они создавались скриптом (предварительно очистив эту папку в начале запуска теста), и убедиться, что всё создано, как надо.

Тут, конечно, надо точно соблюдать одинаковые способы написание логов, чтобы эта система работала на разных скриптах. Но без аккуратности, по-моему, вообще не возможен программист для скриптов под Адоб. Там выживают самые аккуратные и внимательные. 😍


Ну волшебство же! Запустить тесты на 5 файлах клиента за последние полгода и получить в результате:

Tests status = OK
tests: 5, asserts: 23
  • ❤ 4
  • 👍 2
  • 🔥 2
  • ⚡ 1
More from @adobescript
  1. Aug 10, 2026Консультация → Автоматизация Я автоматизирую дизайн 6 лет: от скриптов для Adobe до навига…
  2. Jul 8, 2026Я вообще не дизайнер (и не футболист), но задизайнил чемпионат по подземному катанию в Мос…
  3. Jun 8, 2026👆 начинаем постить про редактор генераторов Этот указатель для Екатеринбурга раньше делал…
  4. Jun 8, 2026Визуальный редактор генераторов Готовимся к новому этапу автоматизации дизайна — визуально…
  5. May 28, 2026Post #311
  6. May 27, 2026Сгенерил новый квартал схемы и сделал тёмную тему. Как вам? Любителям Выхина (есть такие?)…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →