Учебник По Bat-Файлам' title='Учебник По Bat-Файлам' />Три самых полезных навыка, которые я приобрел 5 лет назад Хабрахабр. Я работаю в автоматизации тестирования уже более пяти лет. Более всего я работал с ОС Windows. Мы пишем скрипты на Borland Silk. Test. Я знаком и с другими средами разработки автоматизированных тестов, такими как QTP и Test. Complete у каждого продукта есть свои достоинства, но, к сожалению, и свои недостатки. Возникают проблемы, которые очень сложно решить не выходя из системыНе буду хвастаться. Я не самый умный и не самый опытный человек на этой Планете, но моего опыта вполне хватает для решения повседневных задач. Еще 5 лет назад, я получил 3 простых и основных навыка, которыми пользуюсь при решении новых задач до сих пор. В 1. 0 ом классе я прочел про команды DOS. Это произошло даже 7 лет назад. Я заинтересовался тем, как работают стандартные команды DOS, и о том, что потоки ввода и вывода консольных команд можно выводить в текстовый файл. Все очень просто. Таким образом, можно будет понять, какие файлы были измененыдобавлены в процессе инсталляции. Делается это просто следующей командой cmd. C B S initial. Я уже чувствую, как бородатые программисты возмущенно кричат Автора на кол Да чтобы мы так программы писали Но, позвольте мне все объяснить. Первоначально, на Silk. Test язык 4 Test Script я уже пытался написать рекурсивную функцию, которая путешествовала по дереву каталогов. В итоге получилось, что Функция была сложной. Что такое BAT BAT файлы это пакеты с описанием последовательности действий, они начали использоваться в MSDOS начиная с. Есть ли у кого ссылка на какой нибудь эл. Сегодня будем рассматривать основы написания bat файлов или как их обычно называют батников, все как обычно с примерами. Учебник По Bat-Файлам' title='Учебник По Bat-Файлам' />Использование хендлеров на директории, структур с информацией про директории, рекурсии все это не может быть простым. Функция часто спотыкалась об права доступа к некоторым директориям на некоторых системах. Как выяснилось позже, работала в 2. C B S. Автоматизированное тестирование сродни программированию. Но, в отличии от разработчиков, которые создают продукт, который увидит весь мир наши тесты не покинут стены компании. Пакетный файл англ. Также существуют компиляторы пакетных файлов например, Bat To Exe Converter, преобразующие пакетные файлы в самостоятельные. Поэтому можно и нужно, чтобы тесты оставались простыми. Замена тела сложной рекурсивной функции для получения дерева каталогов на простую команду dir C B S это эффективная и хорошая практика для тестеровщика. А еще оказалось, что команда xcopy работает стабильней, чем стандартная функция Silk. Test SYS. Стоит упомянуть systeminfo, которая выдает краткую, но очень полезную информацию о системе wmic команда, способная выдать полную информацию о конфигурации системы msiexec отдельная песня, позволяющая автоматизировать установку Windows приложений на тестовую систему, семейство команд reg которые позволяют очень просто получить информацию из реестра Windows семейство команд net используемых для любых необходимых сетевых настроек. Командная строка это очень эффективно. Но, я пишу об этом потому, что, по моим наблюдениям, 8. Если бы я придумал тайм менеджмент, то первым постулатом я бы написал Изучи командную строку. Я написал Блокнот на чистом Win 3. API. Я не просто прочитал книгу П. Румянцева Азбука программирования в Win 3. API. Я тут же пробовал реализовать прочитанное. Скажу сразу, создавать графические приложения на Win API это вам не сахар. Тут я приклоняю голову перед теми бородатыми программистами, которые писали под Win 3. Win 9. 5 на Win API, и хотели посадить меня на кол вначале этой статьи. Но, мне было это безумно интересно. Msdos-image9.jpg' alt='Учебник По Bat-Файлам' title='Учебник По Bat-Файлам' />После знакомства с Delphi, спрыгнуть от этой абстракции VCL это было круто. Оказалось, что в Windows вс Окна. Да, любой элемент управления, любой диалог и даже Рабочий стол это окно. О, поверьте, это было прозрение. Я научился пользоваться Send. Message, понял, как же все эти окна идентифицируются. Сейчас, когда я сталкиваюсь с любой проблемой, которую не могу решить обычными средствами Silk. Test я обращаюсь к экспорту функций Win API. Свежий пример из моей практики. Перед началом следующего теста, необходимо было собрать список открытых окон сторонних приложений и их дочерних окон. Оказалось, что в Silk. Test нет такое функции, которая бы вернула список всех открытых окон. А наш существующий механизм сбора открытых окон, был на костылях, работал очень медленно и часто давал сбои. После того, как мы применили Win. API функции Enum. Windows и Enum. Child. Windows, время закрытия всех окон уменьшилось 2. И новый и значительно упрощенный алгоритм уже не давал огромного количества сбоев, как это было раньше. Я понимаю, что сегодня программирование под Windows обложено абстракциями. NET Framework Win. Учебник По Bat-Файлам' title='Учебник По Bat-Файлам' />Forms и Windows Presentation Foundation. Но, опыт программирования в спартанских условиях Win. API, вам будет чрезвычайно полезен. Кроме того, бородатые программисты знают, что тот же. Net Framework 4 не может вам предоставить всего того функционала, который предоставляет Windows API, так что очень часто, в серьезных проектах используется импорт Windows API функций, так называемый PInvoke. Программа Расчета Оповещения. Так что не поленитесь добыть навык программирования Win. API. Я изучил Perl. Это было 5 лет назад, и много воды утекло с того времени, и много взглядов поменялось. Сейчас я уже не хочу яростно заверять вас, что Perl это лучший язык программирования на этой Планете. Возможно, он будет вновь популярен на какой нибудь другой планете, на которой он официальный международный язык программирования. Но, я хочу дать один совет изучите любой динамический язык программирования, который вам понравиться. Сейчас, я чувствую огромный потенциал у Ruby. Возможно потому, что это гремучая смесь Питона и Перла. Учебник По Bat-Файлам' title='Учебник По Bat-Файлам' />Перед тем как я начал писать на Перле, у меня за плечами был старый добрый лабораторный Паскаль и немного Си. Вы себе не представляете, насколько много кусков разлетелся, взорвавшись, мой мозг. На Перле для меня было дико интересно писать скрипты. Я начал с небольших веб скриптов из учебника, и через год создал сайт своего колледжа на собственном кривом движке. Но, это было очень интересно. Через год, после того, как я устроился на работу, я написал систему мониторинга и отчетности для нашего процесса автоматизированного тестирования. Мы ей до сих пор пользуемся. Подчеркиваю, не я один ей пользуюсь, а вся наша команда и начальство, а это безумно приятно. А все благодаря негативной мотивации. Да, если бы я этого не сделал, то до сих пор сидел бы и дергал отчеты из Outlook в Excel. Нет, скорее все благодаря Перлу. Потому что, в тот момент, это было очень просто получить отчет о тестировании из почты, распарсить данные и поместить их в таблицу My. SQL. А дальше поднять свой сервер, и выводить данные, используя свой, но уже менее кривой движок. Кроме того, не раз Перл спасал мне очень много времени и спасал меня от смерти от рутинной работы. Один раз мне дали задание перенести 3 мегабайт текстовых данных из старого формата в новый, при этом необходимо было быть очень внимательным, чтобы не допустить ошибки. И старый и новый формат данных был очень прост. За полдня я написал и оттестировал скрипт, который перегнал все нужные данные за следующие 3 секунды. Следующие 3 дня я занимался более интересными делами, а задание сдал заказчику на день раньше. Вторым постулатом тайм менеджмента я бы сделал Изучи Perl, ну ладно, более политкорректно Изучи любой динамический язык программированияНевозможно решить проблему на том же уровне, на котором она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень. Альберт Эйнштейн.