Upload
alexey-chumagin
View
2.686
Download
2
Embed Size (px)
DESCRIPTION
Материал со встречи в ноябре 2011 года.http://ap-test-team.blogspot.com/2011/10/blog-post.html
Citation preview
Seleniumинструмент для тестирования
Web-приложений
Компания «ТРС» Казань, 2011
Введение в Selenium
Инструмент для автоматизированноготестирования веб-приложенийЗапускается непосредственно в браузереПоддерживает тестирование AJAX приложенийFree и OpenSourceПоддерживается различными браузерами, платформами, языками программирования
Selenium не является
Инструментом Unit-тестированияИнструментом нагрузочного тестирования
Что такое Selenium?
Selenium это объектно-ориентированное
JavaScript приложение, которое может
анализировать файлы определенной структуры
для того, чтобы находить в них команды для
манипуляции браузером и команды для
выполнения определенных действий и проверок.
Поддержка Selenium
Selenium кросс-платформен и
поддерживается браузерами:
Microsoft Internet Explorer,
Opera,
Safari,
Google Chrome,
Mozilla Suite & Mozilla Firefox
Selenium IDE
В рамках проекта Selenium также выпускается
инструмент Selenium IDE представляющий собой
версию достаточно популярной библиотеки
Selenium в GUI-оболочке. Реализовано это в виде
расширения к браузеру Firefox, размером около
240 Кб, включая сам Selenium. Этот инструмент
позволяет записывать и воспроизводить скрипты,
представляющие собой обычные HTML-страницы
с одной таблицей, содержащей команды.
Структура команд Selenium
Command -> Target -> Value
Commands:
Actions (open, click, keyDown, keyUp,mouseMove,
captureEntirePageScreenshot,...)
Accessors (attribute, value, text, visible, ...)
Assersions (assert, verify, waitFor, ...)
Selenium locators
identifier = id
id = id
name = name
dom = JavaScriptExpression
xpath = XPathExpression
link = textPattern
css = cssSelectorSyntax
Пример простого теста
Выгрузка теста в PhpUnit
Selenium в PlayFramework
Запуск теста в PlayFramework
Cложности написания тестов Selenium в ExtJS
ExtJS использует сгенерированные ID, такие как "GEN-
345",т.е мы не можем конкретно указать их в нашем тест
кейсе.
Ext.form.CombBox-требует куда большего чем просто
клика во время теста.
Использование технологии AJAX на страницах.
Selenium советы
Избегать привязывание локаторов к тексту
интерфейса (только к ключевым полям!)
Избегать длинные XPath
Создавать библиотеки многократно-используемых
компонентов
Вести понятный лог выполения тестов и создавать
скриншот приложения при ошибке.
Советы Selenium ExtJS
Не использовать паузы (sleep)
Ожидать события: элемент появился на
экране, изменил состояние и т. д.
Использовать JavaScript выражения для некоторых
ExtJS компонентов (ComboBox,валидаторы, ...)
MouseDownAt вместо click (TabPanel, ...)
Cпасибо за внимание
Team Rocket ScienceКонтакты:Тел 89046760260E-mail:[email protected]