2011-02-05 5 views
12

Я очень много нового в тестировании или автоматизации тестирования. Недавно я был назначен проекту для автоматизации тестирования пользовательского интерфейса приложения WPF. После небольшого поиска в MSDN и других я немного смущен тем, должен ли я использовать библиотеку автоматизации Microsoft UI или новую функцию тестирования кодированного пользовательского интерфейса VS 2010. Я не получаю четкое представление о том, какое из них применяется в каких сценариях, какие преимущества есть у другого и какой из них подходит для меня (еще раз у меня есть CAD, например приложение WPF, которое пропускает много AutomationIds, и я должен автоматизировать его тестирование ui). ПОЖАЛУЙСТА ПОМОГИ !!!Microsoft UI Automation Library Vs Coded UI Test

ответ

17

В основном Microsoft UIA - это новая библиотека доступности в .Net 4.0. Приложения WPF и средства управления имеют встроенную поддержку МАУ через класс AutomationPeer.

Coded-UI test - это запись & Инструмент для автоматизации игры, в котором используется библиотека Microsoft UIA внизу. Поскольку это инструмент по сравнению с написанием кода на C#, он повышает производительность QA для записи большего количества тестовых примеров.

Для приложений с плавающей в нем поддержкой автоматизации должно быть достаточно кодированного-Ui. Если отсутствуют идентификаторы AutomationID, убедитесь, что элементы управления имеют уникальное свойство, например Name. Используйте UIVerify или Inspect для проверки этого.

Если NO уникальное свойство avialble, есть другие нижеуказанные методы, которые вы можете использовать в сочетании с Coded-UI.

  • С Event Когда приложение получает событие UI Automation, исходный объект передается в обработчик событий является AutomationElement. Например, если вы подписались на события с измененной фокусировкой, источник, переданный вашему AutomationFocusChangedEventHandler, является элементом, который получил фокус. Дополнительные сведения см. В разделе «Подписка на события автоматизации пользовательского интерфейса».

  • Из одной точки: Если у вас есть координаты экрана (например, позиция курсора), вы можете получить AutomationElement с помощью статического метода FromPoint.

  • Из окна: Чтобы извлечь элемент AutomationElement из HWND, используйте статический метод FromHandle.

  • Из фокусированного элемента управления: Вы можете получить элемент AutomationElement, представляющий сфокусированный элемент управления из статического свойства FocusedElement.

8

Если вы можете использовать и использовать Coded UI Test, то отправляйтесь по этому маршруту. Убедитесь, что у вас есть configuration is supported.

Библиотека автоматизации пользовательского интерфейса разрешает все в коде позади. Это заставляет вас использовать такой инструмент, как UISpy, чтобы получить доступ к внутренним элементам управления, чтобы затем вы могли выполнить свой тест.

С другой стороны, кодированный пользовательский интерфейс имеет код, однако он позволяет записывать шаги через указанное приложение, которое вы тестируете, что значительно увеличит количество тестов, которые вы можете создать.

2

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

Я начал использовать «полу-каркас», используя библиотеку CodedUITest, и разработал парадигму для разделения деталей автоматизации на код (C#). В основном, я создаю драйвер, который читает, что нужно делать из таблицы (таблиц), где каждая строка в ней является тестовым этапом (или указателем на сценарий в другом листе). В настоящее время, неполный, но перспективный, я работаю против приложения WPF с частичным успехом. Одна из главных проблем заключается в том, что разработчики пренебрегли идентификацией элементов управления однозначно и последовательно.

Bey

4

UI Automation library - библиотека низкого уровня. Обычно вы не хотите писать тесты против него напрямую, поскольку для этого требуется довольно приличный объем работы.

Я бы рекомендовал обратиться к более высокоуровневым библиотекам. Вы упомянули одного из них - кодированный пользовательский интерфейс; другим хорошим выбором будет White от TestStack. Они оба подходят для разных проектов. Кодированный пользовательский интерфейс хорош, если вы не хотите вкладывать много усилий в свой тестовый пакет. В то же время, это не так сильно, поэтому, если вы собираетесь написать много тестов, вам лучше выбрать Белый.

Здесь я более подробно рассмотрю два каркаса: Coded UI vs White

Смежные вопросы