Фреймворк «Хамелеон» для автоматизированного функционального тестирования, разработанный резидентом «Сколково» — компанией IBS AppLine Innovation, продолжает совершенствоваться. В рамках последнего обновления у «Хамелеона» появился инструмент Record&Playback позволяющий легко и быстро автоматизировать тестирование SAP. О новом рекордере и других инструментах тестирования SAP-систем рассказывает ведущий инженер-разработчик IBS AppLine Innovation — Мария Байкова.
«Хамелеон» был создан и запатентован в 2018 году, а в 2019-м включен в Единый реестр российских программ для ЭВМ и БД. Наш фреймворк стал первой отечественной разработкой в области автоматизации тестирования, внесенной в реестр российского ПО.
«Хамелеон» разработан на языке программирования Java, а в его основе лежат open source-инструменты, возможности которых расширили за счет значительной функциональной доработки. Его основной задачей было упростить и ускорить процесс проведения автоматизированного функционального тестирования.
Особенность решения «Хамелеона» — в многомодульности. Для автоматизации тестирования веб-, мобильных, десктоп-, SAP-приложений, баз данных и различных видов API, достаточно лишь подключить соответствующие модули.
Фреймворк постоянно развивается и совершенствуется: добавляются новые функции, улучшается интерфейс, сокращается время, требуемое для его внедрения и т.д. С последним обновлением в «Хамелеоне» появился рекордер, значительно упрощающий процесс автоматизации тестирования SAP-систем. Прежде чем рассказать о нем подробнее, давайте вспомним основные инструменты, с помощью которых выполняется тестирование SAP.
Для автоматизации SAP применяются различные инструменты и подходы.Чаще всего наши специалисты используют для тестирования SAP Micro Focus Unified Functional Testing (UFT), SAP Component-based Test Automation (CBTA) и собственный инструмент — «Хамелеон».
UFT — один из ведущих инструментов автоматизации тестирования и флагманский продукт компании Micro Focus в своей линейке. Для разработки автоматизированных тестов использует язык VBScript.
Вендор рекомендует использование UFT в интеграции с Micro Focus ALM для установления связи тестов с требованиями, а также для удобства их хранения, управления запуском и формирования отчетов. Создавать автотесты можно с помощью записи действий пользователя рекордером или написав такой сценарий на языке VBScript.
Несмотря на имеющиеся возможности, при использовании UFT есть и ряд ограничений. Например, это платный инструмент, то есть для работы с ним нужно купить лицензию. Cкрипты, полученные в результате записи действий пользователя через рекордер, могут работать нестабильно. Элементы сохраняются в локальный репозиторий и по умолчанию не переиспользуются в других автотестах. Это значит, что потребуется доработка тестов после записи, а для этого необходимо знать не самый популярный язык программирования — VBScript. Сейчас на рынке довольно трудно найти специалистов с опытом работы на UFT и VBScript.
CBTA (Component-based Test Automation) — собственный инструмент SAP, интегрированный в систему управления тестированием SAP Solution Manager и предназначенный для автоматизации E2E-тестирования. Создание автотестов происходит с помощью мастера записи действий пользователя, поэтому при работе с CBTA инженеру-тестировщику не требуются знания языков программирования. Запуск автоматизированных тестов производится с помощью встроенного в SAP Solution Manager планировщика.
Возможности SAP CBTA: запись действий пользователя, управление тестовыми данными и создание тестовых конфигураций для последующего E2E-тестирования бизнес-процессов, повторное использование разработанных функций, подключение созданных тестов к BPCA и запуск согласно внесенным в систему изменениям, SAP-библиотека готовых компонентов, с помощью которых разрабатываются автоматизированные тесты. Автотесты, написанные на SAP CBTA, могут быть интегрированы в методологию CI/CD (Continuous Integration и Continuous Delivery).
В автоматизации SAP на CBTA большинство элементарных операций покрываются поставляемыми компонентами, но бывают ситуации, когда этого мало. Расширить функциональность CBTA можно путем написания собственных библиотек на языке программирования VBScript.
Несмотря на ряд преимуществ, возможности CBTA несколько ограничены. Первоначальная настройка может занимать довольно много времени. Во время записи автоматизированного теста не всегда корректно записываются действия пользователя и определяются элементы тестируемого приложения. Кроме того, в CBTA нет единого репозитория для хранения элементов, поэтому при возникновении изменений в приложении бывает трудно поддерживать разработанные автотесты — зачастую проще их перезаписать. По результатам выполнения автотестов формируется отчет, но он содержит мало информации, поэтому локализация ошибок занимает много времени, а возможность доработки отчета отсутствует.
«Хамелеон» — наш собственный инструмент для функционального тестирования, который позволяет автоматизировать различные типы систем, в том числе SAP.
Поскольку «Хамелеон» предлагает единый подход к написанию тестов в независимости от типов тестируемых систем, это дает возможность автоматизировать SAP GUI (десктоп-приложение) и SAP Web (веб-приложение), используя одно решение, а также легко протестировать интеграции с другими системами. Это одно из главных преимуществ «Хамелеона» перед UFT и CBTA. Для тестирования SAP в «Хамелеоне» есть все основные типы контролов, соответствующие элементам SAP GUI, и методы для взаимодействия с ними.
Автотест, разработанный с использованием «Хамелеона», представляет собой сценарий на русском языке, который собирается из уже реализованных универсальных шагов. Инструмент позволяет разрабатывать автоматизированные сценарии, используя возможности рекордера, который записывает действия пользователя в формате реализованных во фреймворке методов. Также можно создать тест в среде разработки Intellij IDEA с помощью плагина Chameleon.
Для формирования отчетов используется популярный инструмент Allure. В самом отчете отображаются выполненные шаги теста, время и статус их выполнения, а в случае ошибки к шагу прикрепляется скриншот. При необходимости отчет может содержать дополнительную информацию, например логи сервера, видео прохождения автоматизированного теста и т.д.
«Хамелеон» легко интегрируется с различными инструментами CI/CD (Jenkins, Bamboo, TeamCity и пр.) и позволяет запускать автотесты на удаленных машинах, причем на каждой из них можно запустить несколько тестов параллельно, что в итоге сокращает общее время тестирования. Для связи ручных тестов с автоматизированными в «Хамелеоне» есть модули для интеграции с Micro Focus ALM, TM4J, TestRail и др.
Узнать, как именно работает «Хамелеон», можно из статьи, опубликованной в нашем блоге на «Хабре».
UFT | CBTA | «Хамелеон» | |
Поддерживаемые системы | Web, Desktop, Mobile, SAP, веб-сервисы | SAP, Web | Web, SAP, Desktop, Mobile, веб-сервисы |
Язык программирования | VBScript | VBScript | Java |
Возможность разработки на рус. яз. | Нет | Нет | Да |
Наличие готовых методов | Реализованы основные типы элементов и методы по взаимодействию с ними (клик, заполнение поля и т.д.) | Есть библиотека готовых типов элементов и методов, но требуется доработка веб-элементов и методов для работы с SAPGUITREE | Реализованы основные типы элементов и методы по работе с ними |
Запись действий пользователя | Есть, но не всегда распознаются действия и элементы в веб-приложении, требуется доработка после экспорта | Есть, но в SAP GUI требуется доработка методов для работы с SAPGUITREE, а в SAP Web распознаются не все действия и не все элементы в приложении | Есть и не требует доработки после экспорта |
Хранение элементов | Репозиторий в виде древовидной структуры, наименования элементов на рус. яз., есть типизация элементов, но нельзя добавить новые типы | Нет централизованного репозитория | Репозиторий в виде древовидной структуры, наименования элементов на рус. яз., есть типизация элементов, можно добавить новые типы |
Автоподстановка элементов в автоматизированных сценариях | Да | Нет | Да |
Поиск элементов | Использование только свойств ID и Name | Использование ID | Использование свойств ID и Name, поиск по тексту, типу элемента, положению относительно других элементов |
Параллельный запуск | Нет | Нет | Да |
Интеграция с CI | Micro Focus ALM | SAP Solution Manager | Интеграция с инструментами CI\CD (Jenkins, TeamCity, Bamboo и др.) |
Отчет | Встроенный. Отображается наименование выполненного метода. Возможна доработка под требования проекта | Встроенный, на английском языке. Нет возможности доработки под требования проекта | Формируется с помощью библиотеки Allure, шаги отчета на русском языке и полностью соответствуют шагам автоматизированного сценария. Возможна доработка под требования проекта |
Система контроля версий | Возможна интеграция с Git | Встроена в SAP Solution Manager | Git |
Среда разработки | Среда разработки Micro Focus UFT | Встроен в SAP Solution Manager | IntelliJ IDEA |
Интеграция с системами тест-менеджмента | Micro Focus ALM | SAP Solution Manager | Micro Focus ALM, TM4J, TestRail |
Интеграция с Solman | Нет | Да, встроенная | Нет |
Порог вхождения | Средний | Низкий | Низкий |
Лицензия | Платная | Входит в поставку SAP | Open source |
Узнать больше об особенностях тестирования SAP можно в этой статье, а подробнее об инструментах автоматизации SAP — здесь.
Как видно из таблицы, все перечисленные решения позволяют записывать автоматизированные тестовые сценарии с помощью инструмента Record&Playback, однако у UFT и CBTA есть ограничения.
Специалисты IBS AppLine Innovation разработали для «Хамелеона» рекордер для SAP-систем, который позволяет получить запись действий пользователя в виде уже готового автотеста на русском языке. Это ускоряет разработку новых автоматизированных тестов минимум в два раза.
Рекордер «Хамелеона» синхронизируется с репозиторием в плагине для IntelliJ IDEA, что позволяет добавлять, редактировать и удалять элементы и страницы, а также проверять корректность локаторов элементов. Для локаторов есть возможность использовать не только ID элемента, но и локаторы, которые могут искать элемент по его свойствам: наименованию, типу и ID. Кроме того, в нашем инструменте работает поиск по нескольким свойствам одновременно и относительно других элементов приложения.
Основные возможности рекордера «Хамелеона»:
Репозиторий элементов
При включении записи рекордер пытается определить страницу, на которой находится пользователь, и проверить ее наличие в репозитории. Если страница не определена, то пользователю предлагается добавить ее в репозиторий элементов. Дальше рекордер проверяет наличие элементов, с которыми взаимодействует пользователь в репозитории. Если элемент найден, его наименование подставляется в шаг, а если нет, то предлагается добавить элемент в репозиторий. Рекордер предлагает для него возможное наименование, тип элемента и определяет его локатор по ID. При необходимости автоматически сгенерированные значения можно отредактировать. Также, кроме действий, есть возможность добавить различные проверки: корректность заполнения поля значением, присутствие поля или элемента грида на странице и т.д.
Добавление новых элементов и проверок
В результате записи получается автоматизированный сценарий, который состоит из шагов, соответствующих шагам фреймворка, и элементов, которые уже добавлены в репозиторий. Такой автотест требует минимальной доработки со стороны автоматизатора.
Результат записи действий пользователя
Подведем итоги. Фреймворк «Хамелеон» — универсальный инструмент, с его помощью можно автоматизировать различные типы систем, включая SAP.
Поскольку «Хамелеон» позволяет хранить элемент в отдельном репозитории, то за счет этого можно переиспользовать элементы в различных автоматизированных тестах, а рекордер при записи действий автоматически добавляет в этот репозиторий элементы приложения, с которыми взаимодействует пользователь. Возможность параллельного запуска позволяет сократить время на выполнение тестов и в кратчайшие сроки получить результаты тестирования. Понятные отчеты упрощают процесс анализа полученных результатов. Рекордер для тестирования SAP не только ускоряет процесс разработки тестов, но и упрощает вход в проект новых сотрудников с минимальным опытом автоматизации.
За счет имеющихся преимуществ использование «Хамелеона» на длительных проектах, а также на проектах с большим объемом тестов позволит сэкономить значительные временные, трудовые и экономические ресурсы.
Вот как это работает