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

Впечатления от Dou Hackathon в Киеве


Хакатон (англ. hackathon, от hack — взлом и marathon — марафон) — мероприятие, во время которого специалисты из разных областей разработки программного обеспечения (программисты, дизайнеры, менеджеры) сообща работают над решением какой-либо проблемы. Сегодня хакатоны уже не относятся к хакерству, это просто марафоны программирования. Обычно хакатоны длятся от одного дня до недели. (Wikipedia)

На одном из таких Хакатонов мне удалось поучаствовать на этих выходных. Сумасшедшие 24 часа в творческой атмосфере, бессонная ночь, литры кофе и полная сфокусированность на процессе.

Все началось очень спонтанно. Первую половину дня я провел над очередной статьей о WebDriver API. Закончил я за 40 минут до начала Хакатона и очень боялся опоздать на презентацию идей проектов. На удивление приехал вовремя, несмотря на нечищенные дороги. Как только поднялся наверх, сразу увидел Сашу Белецкого. По его рекомендации познакомился с ребятами, которые как раз думали над идеей для проекта. Каково было мое удивление, после того как я представил свой проект, что у нас как раз есть те люди, которые нужны для подготовки прототипа: Аким Халилов - .Net разработчик, Саша Свиридов и Саша Ковтуненко Objective-C разработчики.

Мы разбились на 2 области: Back End сервисная часть и клиент в виде iOS приложения.

Инструменты, которые мы применяли для работы:
  • Bitbucket для хранения кода (позволяет создавать приватные репозитории до 5 человек бесплатно)
  • Dropbox для документов
  • Trello для распределения работы
Через час, после старта к нам присоединился дизайнер, и помогла с разработкой логотипа и картинок для нашего приложения.

Время летело очень быстро. Не успели оглянуться, как  уже наступила глубокая ночь. А у нас еще было много работы, все были уже на пределе своих способностей. 

2 часа ночи - человеческая слабость победила, мы пошли отдыхать. Я поехал домой, а ребята остались в  инкубаторе играть на гитаре и расслабляться.

  

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

Оставалось 6 часов до презентации, а у нас все не ладилась самая сложная часть приложения. Лишь за 5 минут до ДЕМО Саша успел исправить последний критичный баг. Я даже успел написать приемочный сценарий при помощи UI Automation, для автоматической живой демонстрации.

Мы заняли почетное 5-тое место. Было много интересных проектов. Особенно жду Live релиза от Саши Белецкого. Уж очень мне нужен этот сервис.

Спасибо организаторам Хакатона, это была незабываемая атмосфера, которую стоит пережить, по крайней мере один раз в жизни!

пятница, 29 марта 2013 г.

Selenium 2 / WebDriver на практике для начинающих

Непосредственно перед последней конференцией SeleniumCamp, при поддержке XP Injection, я проводил тренинг по основам работы с WebDriver API.



Тренинг был подготовлен в абсолютно новом формате.  Все разборы о Selenium IDE, Core, RC были урезаны до нескольких минут, только для того, чтобы познакомить участников с предысторией. Сейчас эти инструменты очень слабо применимы и могут считаться Deprecated. Программа тренинга была сильно сфокусирована на практическое обучение работы с WebDriver API, начиная от самых азов.  Каждый участник на личном ноутбуке, при моей поддержке, шаг-за-шагом осваивал тонкости работы с инструментом.

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

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

Первый день тренинга был посвящен непосредственно работе с WebDriver API. Минимум программирования, но со всеми деталями и тонкостями инструмента. Разбирались как работать с окнами, алертами, разного рода элементами на странице, ожиданиями как стандартными, так и индивидуальными. Практически весь тренинг проходил в coding режиме. Изначально я показывал на экране примеры использования, далее следовало практическое задание и так далее. Потому отдыхать приходилось только на перерывах. Завершили первый день разбором того как делать нестандартный действия на странице, такие как doubleСlick, dragAndDrop, contextClick и т.д.



Второй день был посвящен проектным реалиям. Обладая базовыми навыками, участники были готовы приступать к более продвинутому изучению. Начиная от создания maven проекта и заканчивая структурой базового фреймворка, который, по завершению можно продолжать развивать самостоятельно. Коронным номером окончания второго дня стала практика запуска тестов на удаленных машинах при помощи Selenium GRID и системы сборок Jenkins.

Если вы хотите сделать рывок и начать учиться писать тесты с использованием WebDriver API, обратите внимание на программу тренинга, с которой можно ознакомиться по ссылке. Если вы хотите понять, нужен ли вам этот тренинг или нет - скачайте проект с GitHub. Это то, что у нас получилось по окончанию тренинга. Если сможете разобраться в этом проекте, без единого вопроса - значит, вы уже переросли этот уровень. 


12-13 апреля я буду проводить очередной публичный тренинг по WebDriver для новичков. Кто находит его полезным для себя - прошу!