Перейти к содержимому

Фотография

Разработка тестов на Java с использованием Selenium


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 baranceva

baranceva

    Профессионал

  • Admin
  • PipPipPipPipPipPip
  • 4 150 сообщений
  • ФИО:Баранцева Наталья


Отправлено 17 августа 2011 - 14:32

Описание тренинга (автор - Алексей Баранцев)

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

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

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

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

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

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

Однако, как это часто бывает в среде разработки инструментов с открытым кодом, Selenium не является комплексным решением. Он предназначен для решения одной задачи, но зато делает это лучше всех. Представленная ниже диаграмма демонстрирует типовую структуру средств автоматизации тестирования и окружающей инфраструктуры, и показывает, какое место в ней занимает Selenium.

../trainings/images/stories/automation_tool_structure.png

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


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

Третий модуль ориентирован на наиболее взыскательную аудиторию -- профессионалов-автоматизаторов.

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

  • способы оптимизации скорости выполнения тестов,
  • различные стили написания тестов, в частности использование Hamcrest, BDD, dependency injection,
  • различные стили проверок -- проверка результата и проверка состояния, отложенные проверки,
  • способы журналирования действий,
  • организацию обработки нештатных ситуаций и восстановление работоспособности тестов после сбоев,
  • способы работы с "нативными" диалоговыми окнами,
  • и другие технические хитрости.
И напоследок пара слов о том, о чём я НЕ буду рассказывать на этих тренингах. Я не буду рассказывать о том, как придумывать тесты, для этого есть "Практикум по тест-дизайну", я не буду учить тому, как запрограммировать автотесты и сделать так, чтобы их было просто поддерживать и дорабатывать, этому можно научиться на тренинге "Программирование для тестировщиков".

Подробная программа и стоимость приобретения записей курса





  • 0
Наталья Баранцева
Тренинги по тестированию ПО

#2 baranceva

baranceva

    Профессионал

  • Admin
  • PipPipPipPipPipPip
  • 4 150 сообщений
  • ФИО:Баранцева Наталья


Отправлено 27 октября 2011 - 13:12

В ноябре мы запускаем новый тренинг “Разработка тестов на Java с использованием Selenium 2.0”, который, как это видно из названия, посвящен новой версии инструмента автоматизации тестов для веб-приложений Selenium 2.0.

Вторая версия Selenium не является результатом эволюционного развития первой. Это абсолютно новый инструмент, с новым интерфейсом и новыми возможностями, которыми не обладала предыдущая версия. Основные отличия Selenium 2.0 и 1.0 описаны в статье "Раз селениум, два селениум", а подробное сравнение двух версий будет одной из ключевых тем данного тренинга -- демонстрация примеров будет производиться сразу для двух версий параллельно.

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

Освоения материала первого модуля слушателям будет достаточно для того, чтобы установить и настроить всё необходимое для разработки и выполнения тестов с использованием Selenium 2.0. Второй модуль посвящен рассмотрению различных расширений Selenium, в том числе не только для языка Java. Cреди этих расширений (только не удивляйтесь) встретится другой популярный инструмент автоматизации веб-тестов Watir (да-да!), инструменты для тестирования приложений в мобильных браузерах и даже инструменты для удаленного тестирования нативных Windows-приложений! В третьем модуле, наиболее сложном технически, будут обсуждаться различные тонкости программирования автотестов.

Начало 15 ноября.

Подробная программа и условия участия

  • 0
Наталья Баранцева
Тренинги по тестированию ПО

#3 Demetri

Demetri

    Активный участник

  • Members
  • PipPip
  • 143 сообщений
  • ФИО:Дмитрий
  • Город:Podgorica, MNE


Отправлено 29 октября 2011 - 17:37

Скажите, пожалуйста, насколько принципиально программа нового курса будет отличатся от старого курса, где использовался Selenium 1.0? Точнее от программы семинара, что представлен в записи - Разработка тестов на Java с использованием Selenium

Насколько я понял, разница будет лишь в технических моментах использование именно самого Selenium? Принципы и подходы к использованию ведь будут освещены те же самые?
  • 0
Hi! I'm a signature virus. Copy me into your signature to help me spread.

#4 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 31 октября 2011 - 10:29

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

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

Рассказать только "новые" части, а в остальном сослаться на предыдущий курс -- не получится, потому что тем, кто сейчас только начинает работать с Selenium, я вообще не рекомендую связываться с первой версией :)
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#5 Wolonter

Wolonter

    Постоянный участник

  • Members
  • PipPipPip
  • 205 сообщений
  • ФИО:Макс
  • Город:Екатеринбург


Отправлено 31 октября 2011 - 12:23

Скажите, пожалуйста, будут ли освещены вопросы тестирования динамического интерфейса Dynamic HTML, если да, то насколько подробно?
Под dhtml я имею в виду изменения DOM без перезагрузки страницы.
  • 0

#6 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 31 октября 2011 - 20:27

Скажите, пожалуйста, будут ли освещены вопросы тестирования динамического интерфейса Dynamic HTML, если да, то насколько подробно?
Под dhtml я имею в виду изменения DOM без перезагрузки страницы.

Обязательно будут.
Это одно из ключевых преимуществ Se2 перед предыдущей версией (да и вообще перед всеми другими инструментами автоматизации :) ), как же можно обойти столь важный вопрос стороной.

Насколько подробно?
Я расскажу про:
-- базовые принципы, на которых основано взаимодействие драйверов Selenium с разными браузерами,
-- различие между синтезированными и нативными событиями,
-- различие между "обычными" командами и Advanced User Interaction API, посредством которого генерируются сложные события,
-- способы ожидания появления элементов, которые есть в Selenium 2
-- и может быть ещё что-то, имеющее отношение к DHTML :)
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#7 prostooleg1

prostooleg1

    Активный участник

  • Members
  • PipPip
  • 94 сообщений
  • Город:Москва


Отправлено 10 ноября 2011 - 14:13

Хотелось бы еще в новом курсе увидеть поподробнее о настройках в дженкинсе. А именно о том, как сделать так, чтобы приходили красивые отчеты о пройденых тестах на почту, со скриншетами, как сделать какие-нибудь графики. Лично у меня получилось только сделать так, чтобы уведомления приходили в виде ссылки на jenkins :-)
  • 0

#8 Demetri

Demetri

    Активный участник

  • Members
  • PipPip
  • 143 сообщений
  • ФИО:Дмитрий
  • Город:Podgorica, MNE


Отправлено 10 ноября 2011 - 15:10

Для красивых отчетов над писать собственный логгер. А про написание такого логгера, наверное, можно целый онлайн-тренинг провести :)
  • 1
Hi! I'm a signature virus. Copy me into your signature to help me spread.

#9 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 11 ноября 2011 - 12:46

Отчёты -- это уже особенность используемого фреймворка для запуска тестов (JUnit, TestNG, NUnit, mbUnit), а может быть даже не самого фреймворка, а сборщика (Maven, Ant, NAnt) и его плагинов.
Сам Selenium может разве что поставлять "сырую" информацию для отчётов.

Сейчас, кстати, как раз ведётся работа над этим -- в Selenium реализуется единый механизм логирования, который будет собирать сведения из браузера, сервера и клиента.
Желающие могут почитать обсуждения в группе разработчиков: https://groups.google.com/forum/#!topic/selenium-developers/rWbYw-Y_4X8
Но пока он этот механизм ещё не готов, поэтому я не смогу рассказать про него в этом курсе.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#10 aleksey_p

aleksey_p

    Активный участник

  • Members
  • PipPip
  • 107 сообщений
  • ФИО:Алексей

Отправлено 16 декабря 2011 - 12:49

Сумма за курс небольшая,но хотелось бы выслушать совета, как и где можно освоить это самостоятельно?
Я только начинающий тестировщик вэб сайтов,буду признателен за валидные ссылки на любую литературу.
Спасибо
  • 0

#11 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 19 декабря 2011 - 11:42

Начните с официального сайта: http://seleniumhq.org/
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных