Немного о себеИгорьХролСпециализируюсь на автоматизации тестирования с 2006годаИнструменты:Selenium, HP QTP, Watir, TestComplete, JmeterE-mail: khroliz@gmail.com
3.
Что будет вдокладе?Немного о проектеКакой стоял выбор для автоматизации Flex’a?Сравнение инструментовВыбранное решение и архитектураTips&TricksТекущие результаты работы
4.
О проектеwww.atg.com (сянваря 2011-го – часть Oracle)Середина 2009-го – вся UI-автоматизацияна HP QTPКонец 2009-го – первые версии приложения с Flexи решение начать автоматизацию на Selenium
Результаты оценки –скорость работы (JSP)Цикличное создание-удаление 100 сущностей в JSPВремя выполнения сценария в минутах
7.
Результаты оценки –скорость работы (Flex)Цикличное создание-удаление 100 сущностей вo FlexВремя выполнения сценария в минутахQTP не поддерживает Firefox с Flex
8.
Результаты оценки –скорость работы (Flex)Цикличная навигация по Flex – 100 разВремя выполнения сценария в минутахQTP не поддерживает Firefox с Flex
Поддержка различных браузеров– модификации для FirefoxКод тест-кейса (С#, Java, Python, Ruby и другое)Selenium RCHTTPБраузерSelenium Coreuser-extensions.jsТестируемое приложениеExternalInterfaceBridgeFlex
13.
Структура фреймворка -локаторыПодобие ХPath, но не совсемОбщая структура:property:valueproperty1:value1,property2:value2property1:value1/property2:value2property1.subproperty11:value11,property2:value2/property3.subproperty31:value31Примеры…
СложностиАльтернативная разработка SeleniumFlex API своими силамиУлучшена система локаторовИсправлено несколько дефектовРазработаны методы для работы с DataGrid’амиРасширено количество вызываемых событийНадеемся скоро это внести в виде своей доли в проект sfapi
31.
Сложности«Нативные» нажатия накнопки – например для закачивания/скачивания файловРешение: AutoITСоздание выполняемых exe-файловИспользование DLL через JNA
32.
Интеграция с существующимкодом на QTPЦель: выполнение действий во Flex-еиз QTP с помощью существующего Java-кодаАлгоритм:Запуск браузера из Selenium’aСохранение сессииРабота с отрытым браузером из QTPВызов отдельных java-процессов с передачей в них сессии
33.
Результаты~400k строк кода~4500java-классов (~3500 автоматизированных тест кейсов)Около 5 суток работы тестовРасширяемое решение
#5 Май 2010 по Gartner – в лидерах 2 решения в eCommerce: ATG и IBM WebSphere Commerce.
#8 Watir с FunFX – мы не смогли стабильно автоматизировать эталонный сценарий.Различие технологий Ruby-Java остановило от дальнейшего рассмотрения этого сценария.
#12 История про Firefox + WebSphere.Усилия на поддержку кроссбраузерности сократились на Flex.
#20 Отсутствует синхронизация в первой ветке if’a.