Поделиться через


Практическое руководство. Создание закодированного теста пользовательского интерфейса

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

При создании закодированного теста пользовательского интерфейса формируется объект UIMap, который относится к конкретному тесту и представляет окна, элементы управления, параметры и утверждения, содержащиеся в пользовательском интерфейсе или создаваемые в ходе записи теста. Затем можно выполнять действия над этими объектами пользовательского интерфейса для автоматизации пользовательского интерфейса. Например, можно указать методу теста щелкнуть гиперссылку в веб-приложении, ввести значение в текстовое поле или произвести ветвление и предпринять различные действия тестирования в зависимости от значения в поле.

Примечание

Чтобы упростить тестирование больших приложений, можно добавить несколько закодированных тестов пользовательского интерфейса, а также объектов и файлов карты пользовательского интерфейса.Дополнительные сведения см. в разделе Тестирование крупного приложения с несколькими картами пользовательского интерфейса.

Класс закодированного теста пользовательского интерфейса определяется атрибутом CodedUITestAttribute, применяемым к этому классу.

Каждый закодированный тест пользовательского интерфейса представляет собой метод теста в классе закодированного теста пользовательского интерфейса. В каждый класс закодированного теста пользовательского интерфейса можно добавить несколько методов теста; каждый метод закодированного теста пользовательского интерфейса определяется атрибутом TestMethodAttribute.

С помощью метода теста можно также добавить код проверки элемента управления теста пользовательского интерфейса для получения значения свойства этого элемента. Затем методом теста используется оператор Assert для сравнения фактического значения свойства с его ожидаемым значением. Результат этого сравнения определяет успех или неудачу теста. При каждом выполнении закодированного теста пользовательского интерфейса можно проанализировать результат теста и, если он завершился неудачей, просмотреть или сохранить сведения об утверждениях, содержащих ошибки.

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

Файл

Описание

CodedUITest1.cs

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

UIMap.uitest

Содержит модель XML для класса UIMap, включающую все окна, элементы управления, свойства, методы, параметры, действия и утверждения.

UIMap.Designer.cs

Содержит представление кода XML, содержащегося в файле UIMap.uitest. Не изменяйте этот файл.

UIMap.cs

Содержит дополнительный код для класса UIMap. Можно выполнять любые настройки карты пользовательского интерфейса в этом файле.

В тестовый проект добавляются следующие базовые сборки в качестве ссылок:

  • Microsoft.VisualStudio.QualityTools.CodedUITestFramework

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework

  • Microsoft.VisualStudio.TestTools.UITest.Common

  • Microsoft.VisualStudio.TestTools.UITest.Extension

  • Microsoft.VisualStudio.TestTools.UITesting

Создание закодированного теста пользовательского интерфейса

Для создания закодированного теста пользовательского интерфейса выполните перечисленные ниже действия.

  1. Выполните одну из следующих задач.

    1. В обозревателе решений щелкните правой кнопкой мыши тестовый проект, выберите команду Добавить, а затем пункт Кодированный тест ИП.

    2. В редакторе списка тестов или окне Представление теста щелкните правой кнопкой мыши окно и выберите команду Создать тест. В диалоговом окне Добавить новый тест щелкните Кодированный тест ИП и нажмите кнопку ОК.

    3. В меню Тест выберите команду Новый тест. В диалоговом окне Добавить новый тест щелкните Кодированный тест ИП и нажмите кнопку ОК.

    Откроется диалоговое окно Сформировать код.

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

    Методы

    Действие

    Следующие шаги

    Запись действий в тестируемом приложении, изменение карты пользовательского интерфейса или добавление утверждений

    Щелкните Записать действия, изменить карту ИП или добавить утверждения

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

    Использование существующей записи действий

    Щелкните Использовать существующую запись действий.

    Практическое руководство. Создание закодированного теста пользовательского интерфейса из записи действий

    Все эти методы создают в тестовом проекте класс закодированного теста пользовательского интерфейса с атрибутом [CodedUITest] и открывают файл данного класса. Класс заполняется методом теста, содержащим атрибут[TestMethod]. Новый файл теста для тестового проекта отображается в обозревателе решений.

    Примечание

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

Пример

В следующем примере кода показан класс закодированного теста пользовательского интерфейса и метод теста, которому присвоено значение категории тестов Priority1. Данный метод теста предназначен для простого приложения калькулятора; он добавляет два числа и проверяет правильность результата их сложения (в случае положительного результата проверки тест завершается успешно).

Код двух методов карты пользовательского интерфейса, AddTwoNumbers() и AssertForAdd(), расположен в неизменяемой части карты пользовательского интерфейса, и его непосредственное изменение невозможно. Однако можно скопировать сформированный код из карты пользовательского интерфейса для его изменения и создать альтернативные или дополнительные методы в классе CodedUITest1. Дополнительные сведения см. в разделе Рекомендации по выполнению закодированных тестов пользовательского интерфейса.

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

[CodedUITest]
public class CodedUITest1
{
    public CodedUITest1()
    {
    }

    [TestCategory("Priority1"), TestMethod]
    public void CodedUITestMethod1()
    {
        // To generate code for this test, select "Generate Code" from 
        // the shortcut menu and select one of the menu items.
        this.UIMap.AddTwoNumbers();
        this.UIMap.AssertForAdd();
    }
}

См. также

Ссылки

UIMap

Assert

Основные понятия

Тестирование пользовательского интерфейса с помощью автоматических тестов пользовательского интерфейса

Рекомендации по выполнению закодированных тестов пользовательского интерфейса

Поддерживаемые конфигурации и платформы для закодированных тестов пользовательского интерфейса и записей действий

Другие ресурсы

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