Автоматизация WPF приложения с использованием Telerik Testing Framework и TestStack White

Автоматизация WPF приложения с использованием Telerik Testing Framework и TestStack White

Этим постом мы начнем серию уроков об автоматизации WPF приложений с использованием Telerik Testing Framework и TestStack White.

Рассмотрим тестовые фреймворки и само тестируемое приложение.

Автоматизируемое приложение

Рассматриваемое приложение разработано с использованием технологии WPF, но также имеет такой контрол как WinFoms grid. Использование WinFoms grid внутри WPF объясняется увеличением производительности самого приложения, так как WPF grid с 40 колонками и 100 строками весит довольно много. Grid имеет много встроенных методов и свойств для работы с контекстным меню, панелью подсказок и другими фичами. Но как автоматизировать такой “симбиоз” WPF и WinFoms? Я исследовал много бесплатных и платных инструментов и фреймворков. Были выбраныпобедители”,  обеспечивающие гибкость и простоту поддержки, которые очень важны в процессе разработки и тестирования приложений. Вот они: Telerik Testing Framework  и TestStack White. Обе технологии используются в привязке к языку C#, а также имеют свои сильные и слабые стороны. Но самое главное – они идеально взаимодействуют, что предоставляет возможность автоматизировать практически любые декстопные (desktop) приложения.

Telerik Testing Framework

Мощный и бесплатный фреймворк. Также можно оплатить поддержку дополнительных инструментов для автоматизации нагрузочного и функционального тестирования, но их мы не будем использовать. Telerik предоставляет Test Studio – хороший коммерческий инструмент-надстройка. Telerik Testing Framework наиболее подходящий для тестирования WPF приложений. Элементы находятся с помощью XamlPath, также существуют другие опции поиска. Framework предоставляет API для работы со всевозможными элементами. Но его мощность ограничивается WPF и он не настолько хорош при работе с элементами WinForms.

TestStack White

Очень мощный фреймворк с открытым исходным кодом. Разработан на основе UI Automation. Его единственным недостатком является сложность в поиске элементов. Поэтому я стараюсь использовать White с контролами, с которыми Telerik Testing Framework не может или плохо справляется – WinForm grid, контекстное меню, закрытие окон с помощью крестика (X) в правом верхнем углу приложений.

На свой GitHub аккаунт я залил проект для автоматизации тестового приложения, который содержит и само приложение. Оно довольно простое и взято с этого примера. Автоматизация содержит базовые функциональные тесты. Следующие статьи этого курса включат детальное объяснение всего проекта.

Ниже представлено оглавление статей этого курса:

  1. Введение (данный урок)
  2. Автоматизация WPF – структура проекта
  3. Автоматизация WPF – поиск и структура WPF элементов
  4. Автоматизация WPF – поиск и структура WinForms элементов
  5. Автоматизация WPF – использование элементов
  6. Автоматизация WPF – запуск тестов