IT systems testing
July 2009 29

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

Вот такая новая возможность появилась в VS10, надеюсь, вы найдете ей применение
+34
8.5k 34
Comments 49