четверг, июля 26, 2012

Четверг, 26-е Багфиксьня – Международный день *.bat файлов


Четверг, 26-е Багфиксьня – Международный день *.bat файлов
День *.bat файлов –  поистине знаменательная дата для всех тестировщиков планеты.
По традиции, в этот день, счастливые тестировщики создают новые *.bat файлы, автоматизируя свои рутинные действия.

Например, на рабочем столе можно создать файл для запуска вашых любимых приложений, которые вы хотите запустить в один даблклик!
start winword
start outlook
start chrome

Конечно же, *.bat-файлы, или как называют их в народе – батники, сами по себе очень стары, бородаты и ограничены. Но, ведь это всего лишь контейнер для команд!
Утилиту Ffmpeg, которой было записано это видео, я запускаю при помощи файла run.bat, следующего содержания:
ffmpeg -f dshow -i video=screen-capture-recorder -r 24000/1001 -q 1 out.avi

Бат-файлы позволяют комбинировать полезные команды, как кирпичики Лего, при этом обеспечивая их взаимодействие.
Например, за один клик, я могу:

  1. Выкачать последнюю версию исходиников проекта из системы контроля версий 
  2. Сбилдать исходники при помощи msbuild
  3. Обновить SQL-скрипты в базе данных

Все это обеспечивается правильным комбинированием различных команд.

Вам необходимо каждый день выкачивать билд с сервера заказчика? – добавьте в ваш bat-файл команду xcopy (для копирования с сетевой шары) или скачайте и используйте wget или curl для копирования файлов с HTTP/FTP ресурсов.

Ага, вам нужно деинсталлировать приложение перед установкой?
Без проблем. Используйте:
MsiExec.exe /qn /x{GUID вашего приложения} 
Проинсталлировать приложение?
msiexec /I appsetup.msi /qb /log appsetup.msi.log
 Или вы хотите остановить назойливую службу Windows Update, которая так и хочет перезапустить ваш компьютер?
sc stop wuauserv

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

Ну, а автоматизированные тесты вы как запускаете? Вы уже создали отдельный *.bat-файл для этой цели? (Пользователей CI, просьба не тролить это предложение)

Комментариев нет: