Share via


Тестируем UI с помощью Coded UI Test

  

В жизни любого серьезного проекта всегда уделяется большое внимание и много времени тестированию. Процесс тестированию может продолжаться несколько часов , а может занять и целые недели, все зависит от размеров вашего проекта. Существует множество вариантов тестирования вашего решения. В Visual Studio 2010 появился новый способ тестрования, позволяющий с легкостью находить недоработки в графическом интерфейсе.

 

Демонстрировать новые возможности Visual Studio я буду на примере WPF приложения.

Для простоты, приложение будет уметь выполнять две обычные операции: сложения и деления. Теперь, давайте добавим в наше решение проект тестирования (Test -> New Test).

Visual Studio предложит выбрать сценарий создания теста. В данном примере, я буду использовать второй пункт(UI Recorder), который очень похож на всем известный Web Recorder в IE.

После того, как я выбрал нужный сценарий, мне необходимо записать какие-то действия с помощью recorder’а. Предлагаю записать простой сценарий – сложение чисел. Для этого я нажму кнопку Record Action и выполню требуемые операции.

 

Мы видим, что Recorder распознал элементы и произошедшие события нашего приложения – это является огромным нововведением посравнению с Web Recorder’ ом. В данном случае анализ событий и элементов происходит на нижнем уровне, хочу обратить внимание, что распознавание для разных приложений работает по-разному, а для некоторых оно вообще не поддерживается. Список поддерживаемых приложений описан ниже в таблице.

Финальная версия Visual Studio 2010 позволит создавать UI тесты для основных видов приложений, что позволит использовать данный вид тестов без особых проблем. После того, как UI Recorder записал все проделанные действия, я могу сохранить их, как .Net Static Method и использовать в любом месте моего тестового проекта. Все записанные методы сохраняются в классе RecordedMethods, который при желании можно всегда изменить.

Visual Studio осуществляет поиск элементов с помощью фильтров, описанных в областях “Search Criteria”. Coded UI Test позволяет осуществлять проверку параметров элементов за счет использования привязки(UI Locator).

Используя “Прицел”, я выбрал интересующий меня элемент - метку с результатом. Когда мы нажмем на кнопку сохранить, Visual Studio создаст класс UIMap, описывающий выбранный элемент, и сделает его доступными внутри моего проекта.

 

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

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

На последнем шаге мне нужно создать простую логику проверки в требуемом методе. Это можно сделать с помощью метода AreEqual класса Assert.

 

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

 

Вот такая новая возможность появилась в VS10, надеюсь, вы найдете ей применение.