Selenium. Понять и полюбить:)

Selenium. Понять и полюбить:) Как сказал когда-то наш гуру Алексей Николаев: «Настоящий тестировщик не доверяет никому, и поэтому обожает лично проверять всё, до чего может дотянуться. Настойчивость, любопытство, и внимательность – вот его «конёк». И это-таки правда:) Год назад в бунтарских душах наших ребят-автоматизаторов зародилось желание поработать с платформой для тестирования веб-приложений Selenium. Они изучали платформу сами, методом проб и ошибок. Надо сказать, у наших это получилось довольно успешно и уже принесло свои плоды. Руководство компании оценило старания ребят и результаты, которые принесли эти старания, дав ребятам возможность продолжать развиваться в выбранном направлении и поощрив команду поездкой на конференцию «SeleniumCamp». Ребята отправились на конференцию за свежими идеями для улучшения наших методов работы. Они вернулись вдохновленными и уже успели поделиться своими знаниями с жителями Королевства.

Мы решили узнать у ребят все с самого начала – как они познакомились с этой платформой, как работали, и, конечно, как там тренинг?:)

И вот что рассказал на Саша — тим лид одного из направлений отдела Automation (tx-fx).

Как в нашей жизни появился Selenium

«Сначала было слово», как говорится. Это слово родилось вместе с появлением в Никсах нашего нынешнего тимлида Димы, который со второго дня работы произносил как заклинание слово «Селениум». Мы не совсем понимали как это может нам помочь, но верили что это очень крутая штука. Дима даже провел несколько внутри королевских тренингов по SeleniumRC, стало понятнее, но очень не хватало практики, чтобы осознать всю «глубину селениумских глубин». Время шло, и мы постепенно выросли в отдельную команду автоматизаторов. Мы по-прежнему использовали технологии, которые нам диктовали заказчики, и продолжали геройски бороться со всеми проблемами, связанными с этими технологиями. Было как в анектдоте: «Мышки плакали и кололись, но продолжали жрать кактус». В какой-то момент нам удалось получить (вернее Диме удалось пробить/протащить/проломить :)) у заказчика разрешение на тестирование одного из наших приложений с помощью Селениума. ( Кстати, если в двух словах: Селениум – это технология для тестирования веб –приложений – страниц браузера, элементов на странице.) аше счастье было безгранично. Мы наконец-то избавились от старых проблем, и ускорили разработку тестов, сократили время на их прогон.

Камешки преткновения

Но вместе с этим мы получили новые проблемы =), где-то из за нехватки опыта практического использования Selenium, где-то из-за специфики самого приложения. Но самым важным было то, что любая нестабильность тестов кидала тень на Selenium как на технологию, и на нас как на специалистов. Наступил период «доказывания» что Seleinum все-таки лучше. Нам удалось много достичь, мы добились стабильности тестов, простоты написания тест кейсов. И в то же время понимали, что нам очень нужны свежие идеи, нам нужно узнать чего же достигли другие команды в этой области. И в этот самый момент — бинго! – Дима предложил нам съездить на конференцию «Selenium Camp» в Киев.

День Х

Selenium. Понять и полюбить:)

Мы поехали в Киев компанией ребят, которые в своей работе постоянно используют платформу Селениум. На этот момент мы уже использовали ее на трех проектах. В первый день были все вместе (и, забегая вперед, скажу – наибольший выхлоп был как раз от первого дня) и услышали много-много вещей о возможностях этой платформы, вникали во все подробности. Несмотря на то, что нас главным образом интересовал Selenium WebDriver, мы узнали очень много и о других связанных с ним инструментах для запуска тестов, создания отчетности и пр. Мы узнали, что возможности и сфера применения селениума значительно шире, чем мы себе представляли. Лично для меня было неожиданным так называемое «бытовое» использование селениума. Например, многим из нас, айтишникам, приходилось учить работать на компьютере людей возраста наших родителей или даже бабушек и дедушек. Это очень сложная задача. Даже я бы сказал нервная и за нее надо выдавать молоко:). Так вот чтобы облегчить запоминание действий, которые необходимо выполнить, например, чтобы попасть на какой-то конкретный сайт, какую-то конкретную страницу, выполнить там какие-то конкретные действия, можно элементарно записать эти действия в виде SeleniumIDE теста. В результате, все что нужно сделать – это запустить тест и вуаля – ты в нужной точке. Да и кроме того, даже «зубры», частенько создают себе разные «помогалки». Например, макросы в экселе, разные скрипты. Селениум тоже, оказывается, можно для этого использовать. И да, в первый день мы с гордостью для себя поняли – то, до чего мы самостоятельно дошли в работе с WebDriver-ом в части построения фреймворков – это, оказывается, самая передовая и самая прогрессивная практика в тестировании на базе Selenium платформы.

Selenium. Понять и полюбить:)

Второй день – это была непосредственно конференция. Докладчики выступали параллельно в трех аудиториях. Чтобы впитать максимум, мы распределились, кто на какой доклад идет. Этот день порадовал нас немного меньше, потому что рассказывали, по большому счету, то же самое, что мы уже услышали в первый день, только рассматривались более конкретные, частные случаи. И, кстати, все, чего мы достигли самостоятельно (неожиданно оказавшись в первом вагоне), это благодаря Димону «Selenium God» :) Но мы не останавливались и продолжали подкреплять уже имеющуюся практику теорией.

Сухой остаток

До конференции мы принимали приложение и любые связанные с их тестированием сложности как должное – нам давали «корявое» приложение, мы говорили спасибо и начинали тестить. Нестабильные тесты? – виноват Selenium. Сложно привязаться к объектам или выполнить с ними действия? – Недостаток Selenium-а. Так получилось, что перед конференцией, мы столкнулись с критической проблемой, которая блокировала выполнение тестов. Вручную эта проблема не воспроизводится. Заказчики уже начали считать, что это баг Селениума и подумывали о том, чтобы вернуться на старую платформу. Теперь же, вооружившись новыми знаниями, у нас есть больше оснований доказать, что проблема не тестовом фреймворке, а в самом приложении. (Примечание: пока верстался номер, выяснилось, что это таки баг приложения, поскольку этот баг был воспроизведен вручную. Заказчики стали больше доверять нам и Selenium, а мы стали спать спокойнее :)). Теперь мы знаем, как должно работать правильно написанное приложение, поэтому будет смелее, будем просить выправлять «корявость» самого приложения, а не придумывать обходные пути.

Мы узнали какие бывают вариации в организации фреймворка, и теперь можем оценить плюсы и минусы нашего текущего фреймворка.

Ну и, наверное, главное – мы нашли ответы на сложные технические вопросы, которые мешали нам работать.

А еще нам понравилось в Киеве. Мы отличнно провели время и вне тренинга тоже, гуляя по улицам столицы.

Делимся опытом

Вернувшись с тренинга, по традиции, мы стали нести знания в массы и делиться ими со всеми, кто интересуется тестированием веб приложений вообще и Селениумом в частности. Каждый из нас выбрал тему, подготовил презентацию, подробный доклад и готов ответить на самые каверзные вопросы. Девочки из отдела ОХО подсластили это все вкусными печеньками:) На мой взгляд, у нас получилось раскрыть все основные вопросы по теме и, надеюсь, теперь многим стало интереснее жить и работать:)

Selenium. Понять и полюбить:) Selenium. Понять и полюбить:)

Кстати, мы спросили у самих ребят, которые посещали тренинги, об их впечатлениях:

Selenium. Понять и полюбить:) Женя, начинающий тестировщик:

В первый день тренинга речь шла о продуктах Selenium IDE и WebDriver. Информацию о них изложили очень кратко и информативно. Указали все плюсы и минусы, а так же особенности настройки и установки Selenium IDE. После этого тренинга я пришёл и настроил у себя эту софтинку, без труда даже записал свой первый автоматизированный тест, который автоматически заполнял нужные мне поля на странице:) Была понятна практически вся информация изложенная в первый день тренинга, за исключением некоторых терминов. Ну и не могу не упомянуть о печеньках — они поднимали боевой дух и мотивировали к обучению :)

Во второй день была охвачена более серьёзная тема, как создание Framework’a. Тренинг дал мне понять зачем вообще нужен Framework и на сколько эффективно его использование. Спасибо докладчикам Саше  и Наде  – разжевали теорию сложных технических терминов и изложили на доступном всем языке. Единственное что я хотел бы добавить к такого рода тренингам – это практическую часть. Хотелось бы не только понимать теорию, а и учиться применять её на практике.

Вообще, в работе я с этой технологией тестирования не сталкиваюсь, но я очень заинтересовался, когда о ней услышал. Я в ней разобрался и изучил ее для себя, своего развития, чтоб внести что-то интересненькое и свеженькое в повседневную работу. Так что я рад, что успел зарегистрироваться на тренинг:):)

Selenium. Понять и полюбить:) Валера, автоматизатор, опыт работы — 1 год:

Самое классное в обучении – это когда интересно учиться. Вот на наших Селениум тренингах интересно:) Наши друзья съездили в Киев на конференцию, вернулись ужас как умными и делятся мудростью со всеми желающими. И рассказ идет живо. Возникает много вопросов, видно, что слушатели вникают и проникаются. Пусть не всегда на вопросы находятся ответы, но потом рассказчик тебя догонит на перерыве и все разъяснит. Я вот пробовал Селениум разок и давно, но мне стало многое ясно после тренингов. Прямо руки зачесались попробовать:) Очень полезно получить такое направление для размышления. Теперь если вдруг столкнусь с проектом на Селениуме, быстрее войду в рабочий процесс. Что еще здорово — узнал много новых технологий, знаю о чем Google спрашивать вечерами. А еще там были печеньки.:)

Selenium. Понять и полюбить:) Антон, тестировщик, опыт работы — 3.5 года:
С этим продуктом по работе знакомился очень поверхностно, все как-то не хватало времени разобраться подробнее. А сейчас, когда возникла потребность в использовании продукта, эти лекции стали как нельзя кстати. Во всяком случае мне после прослушанного будет очень легко начать разбираться в тонкостях Селениума, когда уже имеешь хорошее представление о продукте в целом. Имхо нужно побольше таких вот мероприятий. Ребята же, докладчики, излагали материал весьма хорошо и доступно, было видно что рассказывают со знанием дела.

Selenium. Понять и полюбить:) Марина, тестировщик, опыт работы — 2 года:
Когда пришло письмо на почту о намечающемся курсе лекций по автоматизации, я сразу представила кучу примеров на живом коде, которые незнакомому с Selenium человеку будет достаточно трудно понять, а с плохим зрением еще и рассмотреть..
Но ребята молодцы! Им удалось изложить основные концепции автоматизированного фреймверка, все плюсы, подходы и технологии настолько, насколько это было возможно сделать в отведенное время.
Выделить кого-либо из докладчиков очень трудно, потому что все выступили очень хорошо, все яркие и каждый по-своему может привлечь внимание слушателей. Именно потому, что они такие разные, я думаю успех в им обеспечен (прибавим сюда еще трудоспособность и желание использовать все best praсtices, которые они узнали на киевской конференции).
Хочу отметить еще, что благодаря лекциям я узнала, что есть такие интересные open source tools, как Cucumber и Thuсydides. Также последняя лекция о возможных проблемах тестирования с помощью автоматизированного фреймверка и способах их решения на примере компании Parallels была очень познавательна для тех, кто думает о возможных путях автоматизации в своем проекте.