Сторонние пакеты WPF с автоматическим / кодированным тестированием пользовательского интерфейса

Моя команда с головой погружается в новый проект, и мы пользуемся возможностью, чтобы познакомиться с методологией Scrum, новыми технологиями и т.д. .

Однако у нас возникают проблемы с тем, чтобы автоматическое воспроизведение тестов работало с нашей выбранной в настоящее время библиотекой элементов управления 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. Надеюсь, ситуация скоро улучшится.


person Michael Edenfield    schedule 03.02.2012    source источник
comment
это очень узкий вопрос. можно только надеяться, что это увидит кто-то, побывавший в этой ситуации. Я бы посоветовал связаться со всеми компаниями, производящими контрольный пакет WPF, и спросить их ..   -  person Jake Berger    schedule 07.02.2012
comment
Надеюсь, ты найдешь то, что тебе нужно ...   -  person punker76    schedule 14.02.2012


Ответы (4)


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

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

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

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

person akjoshi    schedule 09.02.2012

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

person AlSki    schedule 13.02.2012

  • В одном из наших проектов мы использовали элементы управления WPF Infragistics, и TestComplete работает с ними.

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

  • Я нашел бесплатную утилиту, не зависящую от UI-библиотек.

ПРОЕКТ СИКУЛИ

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

person punker76    schedule 10.02.2012
comment
У нас уже есть закодированные UI-тесты, они просто не работают с элементами управления, которые мы используем. Это то, что я ищу: контрольные наборы, которые правильно работают с закодированными UI-тестами. - person Michael Edenfield; 10.02.2012
comment
В одном из наших проектов мы используем элементы управления Infragistics wpf и с ним работает testcomplete. ты пробовал сикули? - person punker76; 10.02.2012

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

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

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

person DotNetter    schedule 09.04.2014