Комплекты сторонних разработчиков WPF с автоматическим / кодированным тестированием пользовательского интерфейса - PullRequest
5 голосов
/ 04 февраля 2012

Моя команда полностью погружается в новый проект, и мы пользуемся возможностью, чтобы познакомиться с методологией Scrum, новыми технологиями и т. Д. Часть этого включает в себя попытку автоматизировать наш процесс контроля качества, используя Microsoft Test Manager и VS2010. Кодовые тесты пользовательского интерфейса.

Однако у нас возникают проблемы с настройкой автоматического тестового воспроизведения для работы с нашей выбранной в настоящее время управляющей библиотекой WPF, пакетом DevExpress XPF. Уже несколько лет мы используем DevExpress для их элементов управления WinForms и ASP.NET, но это наш первый опыт использования их элементов управления WPF и автоматизированных тестов пользовательского интерфейса, и эти два, похоже, не очень хорошо работают вместе.

В частности, попытка воспроизвести записанный тест, который взаимодействует с элементом управления сеткой, никогда не работает должным образом, и даже на простых элементах управления воспроизведение кажется запутанным из-за того, с каким редактором он должен взаимодействовать. В записях экшена наш тестовый лидер генерирует из MTM, я вижу много этого:

Type '5236' in 'PART_Editor' text box
Type '253' in 'PART_Editor' text box

И что еще хуже, внутри сетки:

Click 'FooterPanel' pane 
Last action on list item was not recorded because the control does not have any good identification property.
Click 'FooterPanel' pane
Click 'Item: CashEntry, Column ...' custom control 
Move 'Item: CashEntry, Column ...' custom control from (141,     10) to 'Item: CashEntry, Column ...' custom control (5, 11) 
Type '{NumPad8}{Down}{NumPad5}{NumPad0}{Up}{Down}{Down}' in 'CashEntry' window

Теперь я видел много болтовни на форумах DevX о том, что их элементы управления WinForms не поддерживают MSAA достаточно хорошо для работы кодированных тестов пользовательского интерфейса, но я подумал, что WPF использует другой механизм для автоматического тестирования пользовательского интерфейса, который должен работать лучше. Итак, мои вопросы:

  1. Есть ли способ улучшить работу элементов управления DevX XPF с помощью кодированных / автоматических тестов пользовательского интерфейса?
  2. Если нет, существует ли альтернативный набор средств управления XPF, который, как известно, хорошо работает с кодированными / автоматизированными тестами пользовательского интерфейса?

Меня особенно интересует компонент в виде сетки с сортировкой, группировкой и т. Д., Компонент в виде панели навигации и пользовательские редакторы (даты, числа и т. Д.), Которые поддерживают унифицированное общесистемное тематирование.

(Кроме того, если этот тип вещей достаточно прост, используя только собственные элементы управления и стили WPF, это также полезно знать.)

РЕДАКТИРОВАТЬ: Поскольку, как представляется, не существует пакета управления WPF, который на самом деле работает с MTM, мы вынуждены использовать два отдельных инструмента тестирования в то же время. По нескольким ответам здесь мы сильно склоняемся к TestComplete. Надеюсь, ситуация скоро улучшится.

Ответы [ 4 ]

2 голосов
/ 09 февраля 2012

Не имею большого представления о пакете управления, поддерживающем это, но в прошлом мы анализировали набор тестов, который поддерживает автоматическое тестирование WPF на основе объектов.Взгляните на TestComplete (хотя это и не бесплатно)

Вот отрывок, на котором упоминается поддержка управления, которую они предоставляют -

Поддержка управления WPF TestComplete предлагаетрасширенная поддержка элементов управления WPF (XAML) и надежное автоматическое тестирование пользовательского интерфейса приложений WPF.Высокоуровневые тестовые действия TestComplete, такие как выбор элемента или ввод данных в ячейку, являются объектно-ориентированными, а не координатно-ориентированными и, следовательно, более стабильными и устойчивыми к изменениям пользовательского интерфейса при выполнении WPF-тестирования.Гибкие схемы сопоставления объектов позволяют тестировщикам сопоставлять пользовательские или производные элементы управления WPF со стандартными типами, чтобы упростить манипуляции с пользовательским интерфейсом. Поддержка пользовательских элементов управления WPF также может быть добавлена ​​с помощью TestComplete SDK.

http://smartbear.com/products/qa-tools/automated-testing/testing-wpf-apps/

1 голос
/ 13 февраля 2012

Я слышал очень хорошие вещи о WiPFlash .

0 голосов
/ 09 апреля 2014

только что нашел этот поток ... у нас была та же проблема с использованием компонентов DevExpress, которые не были обнаружены при воспроизведении CUIT.Но особенно в сценарии Sikuli проблема решаема ... по крайней мере.

  1. Запись теста с MS Test Manager
  2. Тест воспроизведения, чтобы найти невоспроизводимый шаг
  3. СоздатьПоследовательность Sikuli для «перешагивания»
  4. Включение созданного сценария Sikuli в соответствующую позицию в CUIT и повторный запуск с шага 2

Для создания тестов таким образом действительно требуется время, но по крайней мереэто возможно.

0 голосов
/ 10 февраля 2012
  • В одном из наших проектов мы использовали Инфраструктура Элементы управления WPF и TestComplete работают с ним.

  • Наша команда QS также использует TestComplete

  • Я нашел бесплатную утилиту, независимую от библиотек пользовательского интерфейса.

ПРОЕКТ SIKULI

Sikuli - это визуальная технология для автоматизации и тестирования графического пользователя. интерфейсы (GUI) с использованием изображений (скриншоты). Sikuli включает в себя Sikuli Script, API визуальных сценариев для Jython и Sikuli IDE, интегрированная среда разработки для написания визуальных сценариев с скриншоты легко. Sikuli Script автоматизирует все, что вы видите на экран без поддержки внутреннего API. Вы можете программно управлять веб-страницей, настольным приложением Windows / Linux / Mac OS X или даже приложение для iPhone или Android работает в симуляторе или через VNC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...