Давно была идея сделать тестирование скриптов для Индизайна и Иллюстратора. Пользуясь тестами на бэкенде и фронтенде, хочется тоже нажать волшебную кнопочку и наблюдать за прогресс-баром, успехами и падениями тестов. Мечта!
Но в Иллюстраторе и Индизайне у тебя на выходе файл, в котором «что-то произошло». Если пытаться после запуска скрипта писать ещё один скрипт, который будет открывать файл и проверять, сколько там у тебя создалось этих кружочков, то это с ума можно сойти!
Да, ты можешь проверить создание файлов, которые должен экспортировать твой скрипт. Ты можешь получить в результате скрипта успех/не успех. Но как быть с параметрами запуска скрипта, особенно когда у тебя большой список этих параметров да ещё и в какой-нибудь джейсон-структуре?
Ответ оказался достаточно прост, хотя пришлось повозиться с первой версией этого добра.
Когда программируешь под Адоб, всегда пишешь лог-файлы, потому что нет у Адоба консоли, где видны значения переменных и объектов. И вот ты на рабочем столе, например, делаешь лог-файл, куда пишешь всё, что хочешь.
Так вот у нас и готова база для тестирования! Просто надо логи писать рядом Адоб-файлом. И состоит система из: 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
"He has kind of an old-school cyber-libertarian world view where technology is there to set you free," Maréchal said. But because group chats and the channel features are not end-to-end encrypted, Galperin said user privacy is potentially under threat. In February 2014, the Ukrainian people ousted pro-Russian president Viktor Yanukovych, prompting Russia to invade and annex the Crimean peninsula. By the start of April, Pavel Durov had given his notice, with TechCrunch saying at the time that the CEO had resisted pressure to suppress pages criticizing the Russian government. The picture was mixed overseas. Hong Kong’s Hang Seng Index fell 1.6%, under pressure from U.S. regulatory scrutiny on New York-listed Chinese companies. Stocks were more buoyant in Europe, where Frankfurt’s DAX surged 1.4%. Telegram, which does little policing of its content, has also became a hub for Russian propaganda and misinformation. Many pro-Kremlin channels have become popular, alongside accounts of journalists and other independent observers.
from us