16
Selenium инструмент для тестирования Web-приложений Компания «ТРС» Казань, 2011

Тестирование extJS-проектов через Selenium

Embed Size (px)

DESCRIPTION

Материал со встречи в ноябре 2011 года.http://ap-test-team.blogspot.com/2011/10/blog-post.html

Citation preview

Page 1: Тестирование extJS-проектов через Selenium

Seleniumинструмент для тестирования

Web-приложений

Компания «ТРС» Казань, 2011

Page 2: Тестирование extJS-проектов через Selenium

Введение в Selenium

Инструмент для автоматизированноготестирования веб-приложенийЗапускается непосредственно в браузереПоддерживает тестирование AJAX приложенийFree и OpenSourceПоддерживается различными браузерами, платформами, языками программирования

Page 3: Тестирование extJS-проектов через Selenium

Selenium не является

Инструментом Unit-тестированияИнструментом нагрузочного тестирования

Page 4: Тестирование extJS-проектов через Selenium

Что такое Selenium?

Selenium это объектно-ориентированное

JavaScript приложение, которое может

анализировать файлы определенной структуры

для того, чтобы находить в них команды для

манипуляции браузером и команды для

выполнения определенных действий и проверок.

Page 5: Тестирование extJS-проектов через Selenium

Поддержка Selenium

Selenium кросс-платформен и

поддерживается браузерами:

Microsoft Internet Explorer,

Opera,

Safari,

Google Chrome,

Mozilla Suite & Mozilla Firefox

Page 6: Тестирование extJS-проектов через Selenium

Selenium IDE

В рамках проекта Selenium также выпускается

инструмент Selenium IDE представляющий собой

версию достаточно популярной библиотеки

Selenium в GUI-оболочке. Реализовано это в виде

расширения к браузеру Firefox, размером около

240 Кб, включая сам Selenium. Этот инструмент

позволяет записывать и воспроизводить скрипты,

представляющие собой обычные HTML-страницы

с одной таблицей, содержащей команды.

Page 7: Тестирование extJS-проектов через Selenium

Структура команд Selenium

Command -> Target -> Value

Commands:

Actions (open, click, keyDown, keyUp,mouseMove,

captureEntirePageScreenshot,...)

Accessors (attribute, value, text, visible, ...)

Assersions (assert, verify, waitFor, ...)

Page 8: Тестирование extJS-проектов через Selenium

Selenium locators

identifier = id

id = id

name = name

dom = JavaScriptExpression

xpath = XPathExpression

link = textPattern

css = cssSelectorSyntax

Page 9: Тестирование extJS-проектов через Selenium

Пример простого теста

Page 10: Тестирование extJS-проектов через Selenium

Выгрузка теста в PhpUnit

Page 11: Тестирование extJS-проектов через Selenium

Selenium в PlayFramework

Page 12: Тестирование extJS-проектов через Selenium

Запуск теста в PlayFramework

Page 13: Тестирование extJS-проектов через Selenium

Cложности написания тестов Selenium в ExtJS

ExtJS использует сгенерированные ID, такие как "GEN-

345",т.е мы не можем конкретно указать их в нашем тест

кейсе.

Ext.form.CombBox-требует куда большего чем просто

клика во время теста.

Использование технологии AJAX на страницах.

Page 14: Тестирование extJS-проектов через Selenium

Selenium советы

Избегать привязывание локаторов к тексту

интерфейса (только к ключевым полям!)

Избегать длинные XPath

Создавать библиотеки многократно-используемых

компонентов

Вести понятный лог выполения тестов и создавать

скриншот приложения при ошибке.

Page 15: Тестирование extJS-проектов через Selenium

Советы Selenium ExtJS

Не использовать паузы (sleep)

Ожидать события: элемент появился на

экране, изменил состояние и т. д.

Использовать JavaScript выражения для некоторых

ExtJS компонентов (ComboBox,валидаторы, ...)

MouseDownAt вместо click (TabPanel, ...)

Page 16: Тестирование extJS-проектов через Selenium

Cпасибо за внимание

Team Rocket ScienceКонтакты:Тел 89046760260E-mail:[email protected]