Учебники

25) Автоматизация кодированного пользовательского интерфейса

Типичная автоматизация программного обеспечения Тестирование требует средств автоматизации, таких как Selenium и QTP. Кодированный пользовательский интерфейс похож на эти инструменты и может быть особенно полезен для функциональных тестов.

Coded UI Test (CUIT) использует Visual Studio IDE для написания сценариев, так как запись может быть выполнена с использованием Visual Studio.

В этом уроке вы узнаете

Что такое кодированный тест пользовательского интерфейса (CUIT)?

CUIT — это автоматизированные тесты, которые управляют вашим приложением через пользовательский интерфейс (UI). Следовательно, имя закодировало тесты пользовательского интерфейса (CUIT). Эти тесты включают функциональное тестирование элементов управления пользовательского интерфейса. Он проверяет функциональность всего приложения, включая пользовательский интерфейс.

Кодовый тест пользовательского интерфейса (CUIT)

Функции тестирования закодированного пользовательского интерфейса

Функции кодированного интерфейса включают

  • Функциональное тестирование
  • Генерация кода в VB / C #
  • Интегрировано с историей ALM
    • Сборка, развертывание и тестирование в лаборатории или как часть сборки
    • Локальные, удаленные запуски, сбор данных
  • Богатая расширяемость
  • Запись с учетом намерений и устойчивое воспроизведение

Технологии кодированного пользовательского интерфейса (CUIT) Поддерживаемые технологии

С помощью закодированного пользовательского интерфейса приложение, которое имеет пользовательский интерфейс, может быть легко протестировано. Приложение может быть оконным или веб-ориентированным.

Кодированный интерфейс поддерживает такие технологии, как

  • Оконные настольные приложения
  • Веб-сервисы (SOAP, ASPX и т. Д.)
  • Приложения для оконных телефонов
  • WPF (Windows Presentation Foundation)
  • Веб-приложения (HTML, Silverlight, HTML5)

Зачем использовать кодированный интерфейс для автоматизации тестирования

Причина, по которой кодированный пользовательский интерфейс для автоматизации тестирования является предпочтительным

  • Разработчики и тестировщики программного обеспечения могут эффективно сотрудничать, используя одни и те же инструменты / язык.
  • Он поддерживает как веб-сайты, так и проекты Windows.
  • Механизм идентификации элементов — отличная особенность в кодированном интерфейсе. Кроме того, он поддерживает синхронизацию
  • Механизм воспроизведения поддерживает такие функции, как «WaitForControlExist», «WaitForReadyLevel» и т. Д.
  • С помощью «Агентов тестирования» автоматизированные тесты можно запускать на удаленных компьютерах.
  • Команды автоматизации могут разрабатывать сложные тесты, используя закодированный пользовательский интерфейс с многоуровневой структурой
  • Тестировщики программного обеспечения могут фиксировать исключения и записывать результат, эффективно используя log4net.dll
  • Инструмент закодированного пользовательского интерфейса поддерживает описательное программирование. Это позволяет тестировщикам программного обеспечения автоматизировать сценарии на основе свойств объекта
  • Он поддерживает элементы управления AJAX.

Как создавать кодовые тесты пользовательского интерфейса (CUIT)

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

  • Генерация из существующей записи действия (преобразование из ручной записи теста)
  • Создание нового тестового пользовательского интерфейса с нуля
  • Написание кода с нуля

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

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

файл содержание Редактирование
UIMap.Designer.cs Раздел объявления Свойства методов класса UIMap нет
UIMap.cs UIMap класс (частичный) да
CodedUITest1.cs Свойства класса CodeUITest1 Методы да
UIMap.uitest Карта XML пользовательского интерфейса для теста. Редактируется только через UI Map editor нет
  1. UIMap.Designer.cs : конструктор содержит представление кода UIMap. Он генерируется, когда тестер записывает некоторое взаимодействие с пользовательским интерфейсом или когда некоторые объекты добавляются вручную в UIMap.
  2. UIMap.cs : В этом файле хранятся любые изменения или настройки, сделанные для UIMap. Первоначально этот файл будет пустым и может быть заполнен позже. Если изменения вносятся непосредственно в файл UIMap.designer.cs, убедитесь, что он не записан, иначе все изменения будут потеряны.
  • CodedUITest1.cs : этот файл содержит кодированный класс теста пользовательского интерфейса, методы тестирования, вызов утверждений и вызов методов. Все утверждения и методы по умолчанию вызываются из этого файла.
  • UIMap.uitest : это XML-представление класса UIMap. Он включает в себя окна, элементы управления, свойства, методы, действия и утверждения. Редактируется только через UI Map editor

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

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

  1. Запись и воспроизведение закодированного пользовательского интерфейса или
  2. Кодированный интерфейс Ручное кодирование

Вы должны выполнить следующий шаг, чтобы выполнить кодированный тест пользовательского интерфейса,

  1. Создать кодовый тестовый проект UI
  2. Добавить кодированный тестовый файл интерфейса пользователя
  3. Запишите последовательность действий
  4. Проверьте значения в полях пользовательского интерфейса, таких как текстовые поля
  5. Посмотреть сгенерированный тестовый код
  6. Добавить больше действий и утверждений
  7. Отредактируйте детали тестовых заданий и утверждений
  8. Запустить тест

 

Лучшие практики для кодированного теста пользовательского интерфейса (CUIT)

Вот несколько рекомендаций для кодированного теста пользовательского интерфейса,

  • По возможности используйте построитель тестов UI.
  • Старайтесь не изменять файл UIMap.designer.cs напрямую. В противном случае изменения, внесенные в файл, будут перезаписаны.
  • Создайте свой тест как последовательность записанных методов
  • Каждый записанный метод должен действовать на одной странице, форме или диалоговом окне. Кроме того, создайте новый метод тестирования для каждой новой формы, страницы или диалогового окна.
  • При создании метода вместо имени по умолчанию используйте значимое имя метода. Значимое имя помогает определить цель метода
  • Если возможно, ограничьте каждый записанный метод менее чем 10 действиями. Такой подход облегчает замену метода в случае изменения пользовательского интерфейса.
  • Для создания утверждения используйте построитель тестов с закодированным пользовательским интерфейсом. Он автоматически добавляет метод подтверждения в файл UIMap.Designer.cs.
  • Перезаписать методы тестирования / методы подтверждения, если пользовательский интерфейс изменяет или перезаписывает затронутые разделы существующего метода тестирования.
  • Если вы напрямую программируете с помощью API, используйте методы и свойства в классах, созданных в файле UIMap.Designer.cs. Эти занятия сделают вашу работу более надежной и легкой, а также помогут вам быть более продуктивным.

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

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

  • Selenium не поддерживает ни WPF, ни приложения Windows
  • Visual Studio Coded UI поддерживает тестирование приложений Window store, а также тестирование приложений Window Phone. Никакие другие инструменты не поддерживают это.
  • Тест завершен, поддерживает Window Application, но требует установки плагина.

Кодовый тест пользовательского интерфейса (CUIT)

Резюме:

  • Автоматизированные тесты, которые управляют вашим приложением через пользовательский интерфейс (UI), называются кодовыми тестами UI (CUIT).
  • Кодированный пользовательский интерфейс поддерживает такие технологии, как веб-службы, приложения Windows Phone, веб-приложения и т. Д.
  • Кодированный пользовательский интерфейс позволяет разработчикам и тестировщикам программного обеспечения эффективно сотрудничать, используя одни и те же инструменты / язык
  • Содержимое или файл, созданный при использовании закодированного пользовательского интерфейса, включает
    • UIMap.Designer.cs
    • UIMap.cs
    • CodedUITest1.cs
    • UIMap.uitest