Давно была идея сделать тестирование скриптов для Индизайна и Иллюстратора. Пользуясь тестами на бэкенде и фронтенде, хочется тоже нажать волшебную кнопочку и наблюдать за прогресс-баром, успехами и падениями тестов. Мечта!
Но в Иллюстраторе и Индизайне у тебя на выходе файл, в котором «что-то произошло». Если пытаться после запуска скрипта писать ещё один скрипт, который будет открывать файл и проверять, сколько там у тебя создалось этих кружочков, то это с ума можно сойти!
Да, ты можешь проверить создание файлов, которые должен экспортировать твой скрипт. Ты можешь получить в результате скрипта успех/не успех. Но как быть с параметрами запуска скрипта, особенно когда у тебя большой список этих параметров да ещё и в какой-нибудь джейсон-структуре?
Ответ оказался достаточно прост, хотя пришлось повозиться с первой версией этого добра.
Когда программируешь под Адоб, всегда пишешь лог-файлы, потому что нет у Адоба консоли, где видны значения переменных и объектов. И вот ты на рабочем столе, например, делаешь лог-файл, куда пишешь всё, что хочешь.
Так вот у нас и готова база для тестирования! Просто надо логи писать рядом Адоб-файлом. И состоит система из: 1. файл, в котором запускается скрипт, 2. файлы, которые получились, 3. лог-файл.
Магическая папочка tests содержит: 1. конфиг-файл, где прописывается путь до запускаемого скрипта, 2. если надо, то файл входящих переменных, которые скрипт создаст перед каждой попыткой, 3. адрес папки, где лежит файл клиента, 4. список проверок, то есть тех самых тестов.
На текущий момент у меня уже проверки: — есть ошибка или нет, точный текст ошибки, текст ошибки может содержать текст, — сколько и каких файлов создалось и в каких папках, — какие объекты были созданы и на каких позициях.
И этого уже вполне достаточно, чтобы быть спокойным за внесение изменений в скрипт.
То есть скрипт-тестировщик должен просто: 1. зайти в папку с очередным исходных файлом, загрузить переменные при необходимости, 2. открыть файл и выполнить скрипт, закрыть файл, 3. пройтись по лог-файлу и найти там все нужные статусы, значения, тексты ошибок, уведомления успехов, 4. пройтись по файлам, если они создавались скриптом (предварительно очистив эту папку в начале запуска теста), и убедиться, что всё создано, как надо.
Тут, конечно, надо точно соблюдать одинаковые способы написание логов, чтобы эта система работала на разных скриптах. Но без аккуратности, по-моему, вообще не возможен программист для скриптов под Адоб. Там выживают самые аккуратные и внимательные. 😍
Ну волшебство же! Запустить тесты на 5 файлах клиента за последние полгода и получить в результате:
Давно была идея сделать тестирование скриптов для Индизайна и Иллюстратора. Пользуясь тестами на бэкенде и фронтенде, хочется тоже нажать волшебную кнопочку и наблюдать за прогресс-баром, успехами и падениями тестов. Мечта!
Но в Иллюстраторе и Индизайне у тебя на выходе файл, в котором «что-то произошло». Если пытаться после запуска скрипта писать ещё один скрипт, который будет открывать файл и проверять, сколько там у тебя создалось этих кружочков, то это с ума можно сойти!
Да, ты можешь проверить создание файлов, которые должен экспортировать твой скрипт. Ты можешь получить в результате скрипта успех/не успех. Но как быть с параметрами запуска скрипта, особенно когда у тебя большой список этих параметров да ещё и в какой-нибудь джейсон-структуре?
Ответ оказался достаточно прост, хотя пришлось повозиться с первой версией этого добра.
Когда программируешь под Адоб, всегда пишешь лог-файлы, потому что нет у Адоба консоли, где видны значения переменных и объектов. И вот ты на рабочем столе, например, делаешь лог-файл, куда пишешь всё, что хочешь.
Так вот у нас и готова база для тестирования! Просто надо логи писать рядом Адоб-файлом. И состоит система из: 1. файл, в котором запускается скрипт, 2. файлы, которые получились, 3. лог-файл.
Магическая папочка tests содержит: 1. конфиг-файл, где прописывается путь до запускаемого скрипта, 2. если надо, то файл входящих переменных, которые скрипт создаст перед каждой попыткой, 3. адрес папки, где лежит файл клиента, 4. список проверок, то есть тех самых тестов.
На текущий момент у меня уже проверки: — есть ошибка или нет, точный текст ошибки, текст ошибки может содержать текст, — сколько и каких файлов создалось и в каких папках, — какие объекты были созданы и на каких позициях.
И этого уже вполне достаточно, чтобы быть спокойным за внесение изменений в скрипт.
То есть скрипт-тестировщик должен просто: 1. зайти в папку с очередным исходных файлом, загрузить переменные при необходимости, 2. открыть файл и выполнить скрипт, закрыть файл, 3. пройтись по лог-файлу и найти там все нужные статусы, значения, тексты ошибок, уведомления успехов, 4. пройтись по файлам, если они создавались скриптом (предварительно очистив эту папку в начале запуска теста), и убедиться, что всё создано, как надо.
Тут, конечно, надо точно соблюдать одинаковые способы написание логов, чтобы эта система работала на разных скриптах. Но без аккуратности, по-моему, вообще не возможен программист для скриптов под Адоб. Там выживают самые аккуратные и внимательные. 😍
Ну волшебство же! Запустить тесты на 5 файлах клиента за последние полгода и получить в результате:
Tests status = OK tests: 5, asserts: 23
BY Сергей Турулин
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Meanwhile, a completely redesigned attachment menu appears when sending multiple photos or vides. Users can tap "X selected" (X being the number of items) at the top of the panel to preview how the album will look in the chat when it's sent, as well as rearrange or remove selected media. He adds: "Telegram has become my primary news source." In a message on his Telegram channel recently recounting the episode, Durov wrote: "I lost my company and my home, but would do it again – without hesitation." Markets continued to grapple with the economic and corporate earnings implications relating to the Russia-Ukraine conflict. “We have a ton of uncertainty right now,” said Stephanie Link, chief investment strategist and portfolio manager at Hightower Advisors. “We’re dealing with a war, we’re dealing with inflation. We don’t know what it means to earnings.” Although some channels have been removed, the curation process is considered opaque and insufficient by analysts.
from us