В среде веб-инструментов для тестирования ПО есть много разноплановых решений. Сначала может сложиться впечатление, что для всего есть готовые варианты и не стоит растрачивать время на разработку и внедрение локальных инструментов проверки.
Но, по правде говоря, это ошибочное суждение. Например, когда речь заходит о тестировании классических десктопных приложений на базе популярной операционной системы Windows.
А все почему? Потому что в отличие от автоматизации web или же проверки мобильного ПО, тестирование десктопных программ – в какой-то степени «танцы с бубном», и на это существует сразу несколько очевидных причин:
- На сегодняшний день существует крайне низкое количество удобных решений с открытым исходным кодом, которые могли бы существенным образом упростить жизнь тестировщикам-автоматизаторам.
- Коммерческие продукты стоят очень дорого.
- Постоянное развитие веб-технологий влияет на то, что большинство desktop-продуктов попросту начинают отмирать. А это существенно сказывается на развитии и технической поддержке инструментов, и на наличии профильных специалистов в данной сфере.
Но не смотря на столь пессимистический настрой, все-таки можно выделить сразу несколько доступных решений с открытым кодом, которые достойны внимания.
Обзор ПО Winium, FlaNium and FlaUI
Winium
Итак, Winium – это специальный фреймворк для процесса тестирования любых классических приложений на основе возможностей утилиты Selenium. Он обладает многими техническими решениями, среди которых можно выделить:
- Поддержка WinForms и WPF программ;
- Наличие REST-протокола взаимодействия между проверками и тестируемым ПО;
- Взаимодействие с Selenium (Java+Selenium).
Но, не смотря на все эти плюсы, у данного продукта есть один, но крайне существенный недостаток – ограниченный функционал. А именно, у пользователей нет возможности оперировать ValuePattern, SelectionItPattern и еще несколькими паттернами.
FlaUI
Следующий продукт, а конкретно FlaUI, также является интересным решением. Данная библиотека полностью создана на языке программирования C# и не содержит никакого API для операций извне. Это своего рода оболочка для библиотек автоматизации Microsoft Windows Automation API, с помощью которой тестировщики могут упрощать процедуру создания тестов.
В отличие от Winium, библиотека FlaUI имеет 100% взаимодействие с WinForms и WPF-приложениями, но в тоже время требует создания тестов на основе языка C#.
FlaNium
Как можно понять с наименования, данное решение являет собой отлаженное сочетание Winium и FlaUI.
Данный продукт включает в себя 2 равноценных компонента:
- FlaNium.Desktop.Driver – базовая составляющая, которая воплощает в себе драйвер взаимодействия с проверяемым ПО посредством Windows Automation API и применяющий протокол взаимодействия Selenium REST API.
- FlaNium.WinAPI – специализированная Java-библиотека, с помощью которой можно расширить Selenium REST API протокол и добавить дополнительные конфигурации по редактированию и взаимодействию с FlaNIUM driver. Дополнительно, данная библиотека позволяет типизировать классический Selenium WebElement и привести его к требуемым компонентам проверяемого ПО, постепенно добавляя вспомогательные методики взаимодействия, характеризующие определенный вид элементов.
Попеременное применение данных методов существенным образом облегчает процедуру взаимодействия с ПО и сокращает объемы написанного программного кода. К слову, существует масса поддерживаемых элементов, которые характерны для данного ПО. Ознакомиться с ними можно по ссылке – https://www.javadoc.io/static/com.github.lanit-exp/FlaNium.WinAPI/1.0/FlaNium/WinAPI/elements/package-summary.html
В завершение
Использование одного из трёх выше названных драйверов позволит раз и навсегда уйти от вендорского программного обеспечения для тестирования, понизив цену автоматизации и ее последующей поддержки на приличную сумму, а также унифицировав стек технологий к профессиональной квалификации тестеров (и разработчиков).
Оставить комментарий