Блог вебразработчика
  • ГЛАВНАЯ
  • ПОДПИСКА

Обзор инструментов Selenium

Апр09
2012
Написал Tatyana

Эта статья предназначена для тех, кто уже решился на автоматизацию процесса тестирования и хорошо представляет себе все достоинства и недостатки этого решения. Если же Вы всё еще сомневаетесь, возможно, предыдущая статья поможет Вам принять необходимое решение.

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

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

  • Selenium IDE. Представляет из себя плагин для Mozilla Firefox, который записывает и воспроизводит действия пользователя в браузере. Нажатия на элементы, открытие страниц, заполнение полей ввода и т.п. записываются IDE автоматически. Проверки добавляются в сценарий с помощью выбора доступных проверок из контекстного меню на элементе, который нужно проверить. Selenium IDE не требует от тестировщика глубоких знаний программирования, в большинстве случаев самостоятельно формирует код и может по праву считаться самым простым в использовании инструментом. С помощью IDE можно быстро ознакомиться с языком команд и понять принцип работы Selenium. Selenium IDE служит в основном для быстрого создания небольших сценариев или для выполнения каких-либо рутинных действий. Реализовать сложную логику или проверку в сценариях IDE просто невозможно. И что самой собой разумеется тестирование будет выполняться только под Firefox. Selenium IDE можно также использовать при написании тестов в других инструментах для быстрого получения идентификаторов элементов на странице. Конечно, IDE не вернет вам сложный xpath запрос, но если идентификатор элемента очевиден (id или class), то IDE вернет более подходящий. Важная особенность Selenium IDE в том, что можно выполнить экспорт готового сценария в формате любого поддерживаемого Selenium языка программирования для JUnit или Nunit. Подробнее про Selenium IDE можно почитать здесь.
  • Selenium WebDriver — набор библиотек API функций для различных языков программирования (Java, C#, Python, Ruby), которые позволяют написать программу для управления браузером на выбранном языке программирования. WebDriver API не привязан к тестовым фреймворкам, это позволяет использовать любые фреймворки модульного тестирования на Ваш выбор. Библиотека предоставляет драйвера для работы в различных браузерах(Mozilla Firefox, Google Chrome, Opera, Internet Explorer, а также мобильные браузеры Android и iPhone), не все из них конечно работают стабильно, но находятся в постоянной разработке. Также предоставляется HtmlUnitDriver, который является самым быстрым кросс-платформенным решением, позволяющим выполнять тесты без визуализации и запуска браузера. Используя Selenium WebDriver можно создать собственный полноценный фреймворк для тестирования. Очень важно, что Selenium WebDriver поддерживает шаблон проектирования Page Object, с помощью которого можно значительно сократить дублирование кода и упростить поддержку тестов. WebDriver API находится в постоянной поддержке, доработке разработчиками под обновления браузеров, и разработке новых функций.
  • Selenium RC — предшественник Selenium WebDriver. На сегодняшний день заморожен и не рекомендуется к использованию, т.к. дальше не будет дорабатываться командой разработчиков Selenium.
  • Selenium Server. Ранее Selenium Server обязательно требовался для запуска Selenium RC, сейчас если вы собираетесь использовать только WebDriver, то Selenium Server Вам не пригодится. Но Selenium Server может понадобиться для запуска тестов на удаленных машинах с различными операционными системами и установленными браузерами. Несколько серверов Selenium могут образовывать Selenium Grid — сеть, которая распределяет тесты по нескольким машинам (за счет параллельного выполнения).

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

  • Нравится
  • Tweet

Опубликовано в Selenium - Помечено Selenium IDE, Selenium Server, Selenium WebDriver, Автоматизированное тестирование
Рассказать всем Twitter Facebook Delicious StumbleUpon E-Mail
← Автоматизированное тестирование – быть или не быть?
Selenium Driver: первый проект, сборка и настройка →

Свежие записи

  • WebDriver и SSL Untrusted certificate
  • Видеозапись выполнения тестов Selenium
  • Selenium WebDriver: basic авторизация
  • BrowserMob Proxy + Selenium: автоматизация сбора данных о производительности
  • Hibernate 4: UserType пользовательский тип данных (часть 2)

Поиск

Рубрики

  • Hibernate ORM
  • SEO
  • Разное
  • Тестирование
    • JUnit
    • Selenium
    • Thucydides

Метки

Actions AJAX Alert AutoIt ChromeDriver Exceptions ExpectedConditions FindElement FirefoxDriver Hibernate InternetExplorerDriver Java Javascript Jenkins JUnit4 Maven PageFactory Page Object RemoteWebDriver Select Selenium IDE Selenium Server Selenium WebDriver switchTo Thucydides WebDriverWait XPath Автоматизированное тестирование база данных заработок в сети сеть Интернет скорость продвижения сайта статейное продвижение услуги продвижения

Реклама


Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.

Блог вебразработчика
Функциональное тестирование и продвижение сайтов

Яндекс.Метрика