Создание Data-Driven Coded UI теста

Создание Data-Driven Coded UI теста

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

Всем привет! В предыдущем уроке мы рассмотрели создание простого Coded UI теста для вычисления суммы двух чисел используя стандартный калькулятор Windows. Теперь мы используем Data-Driven подход и как источник данных будем использовать .csv файл.

Создание источника данных

1. Возьмите предыдущий проект AutoQACodedUISample и добавьте в него data.csv.

data-driven

2. Наполните .csv данными:

data-driven-1

Обратите внимание, что важно сохранить файл .csv в правильной кодировке. Для этого выберите меню FILE в Visual Studio, выберите Advanced Save Options и Unicode (UTF-8 without signature) – Codepage 65001.

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

data-driven-2

Источник данных мы создали. Теперь подключем его к нашему проекту.

Подключение источника данных к тестовому методу

Для связывания источника данных нужно добавить атрибут DataSource в существующей аннотации [TestMethod].

Источник данных теперь доступен для использования в тестовом методе.

Использование данных с data.csv файла в coded UI тесте

1. Добавьте Microsoft.VisualStudio.TestTools.UITesting.WinControls в верхней части файла CodedUITest.cs:

2. Добавьте TestContext.DataRow[] в методе CodedUITestMethod1(), который теперь будет получать значение с нашего источника. Значения с data.csv теперь будут присваиваться контролам, которые находятся с помощью SearchProperties:

Для определения, какие именно свойства (search properties) использовать, нужно использовать Coded UI Test Editor.

 data-driven-4

Выберите действие на UI и определите соответствующий ему промапленый контрол UI. Например, кнопке “7” соответствует this.UIMap.UICalculatorWindow.UIItemWindow.UIItem7Button.

Присвойте этому значению название первой колонки UIItem7Button.SearchProperties[WinButton.PropertyNames.Name] = TestContext.DataRow[“Num1″].ToString(). В трех итерациях значение кнопок будет изменено 2, потом 7 и 1.

Запуск data-driven теста

Проверьте, что наш тест теперь data-driven, запустив тест снова.

data-driven-3

Можно уидеть, что тест запустился в три итерации, используя данные с .csv файла. Проверки также работают и все итерации пройдены успешно.

Сам проект можно скачать по ссылке.

Связанные статьи