воскресенье, 3 марта 2013 г.

Watin - как написать робота?

Начнем с основ - что вообще такое робот и зачем он нужен?

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

Зачем она нужна? Затем, что автоматизировать можно не всякий проект. Хотя бы потому, что у вас, начинающего автоматизатора, просто нет нужных знаний и опыта. А тестировать нужно здесь и сейчас. А проект у вас всего на пару-тройку месяцев. И помимо него еще целая куча разных дел.

В таком случае вкладываться в автоматизацию просто бессмысленно - пока вы настроите нормальный тестовый фреймворк, напишите все тесты, которые хотели - уже все. Проект сдан, тесты больше не нужны, пойдем по новой.

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

Создаем карточку раз, создаем карточку два, создаем карточку три... создаем карточку одна тысяча сто восемьдесят шесть... И каждый раз заполняем одни и те же поля. И вот здесь нам и поможет наш робот - заполняем карточку один раз, пока пишем программу, а потом робот это делает за нас! Заманчиво, не правда ли? А ведь это еще и легко осуществимо!

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

Сегодня я хочу показать возможности инструмента Watin, добавив его в вашу копилку знаний.

Watin - Web Application Testing in .Net. Последователь Watir - Web Application Testing in Ruby, созданный для того, чтобы писать простые и понятные, легко-читабельные тесты на языке .Net. Имеющий свои недостатки, но, тем не менее, отлично подходящий для такой работы, как быстрая помощь себе в написании робота.

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

Чтобы тестировать движение по статусам, нам надо заполнять эту форму, создавая, таким образом, в своей системе новую карточку. Допустим также, что наше приложение пишется на C# и у нас уже есть Microsoft Visual Studio, в которой работают наши разработчики.

Давайте напишем простенького робота с использованием Watin, который будет заполнять форму обратной связи корректными данными (что важно! Если заполнять какими попало данными, это уже проще и вполне можно сделать вручную) за нас.

Итак, открываем Microsoft Visual Studio и начинаем делать робота... (в полной версии статьи можно не читать вступление, оно точно такое же, просто я хотела сохранить эту ссылку в блоге)

Важно!

В конце статьи есть ссылка на скачивание самого робота - можно скачать, добавить туда библиотечки Watin и посмотреть, как все работает, не написав ни единой строчки кода !!!

А также можно сохранить себе этот проект как пример и на его основе написать собственного робота - ведь переделать существующее всегда проще, чем написать с нуля. Удачи! Smile :)

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

Отправить комментарий