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


Пример генератора тестовых сценариев

Обновлен: Ноябрь 2007

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

Сведения об элементе и связанных с ним событиях сохраняются в общем классе записи (UIAEventRecord.cs). Общие сведения и сценарий могут быть записаны в виде обычного текста для последующего анализа или изменения тестером, а также для последующего воспроизведения созданного сценария.

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

ms771275.alert_caution(ru-ru,VS.90).gifВнимание!

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

Типичные проблемы, не позволяющие адекватно реализовать на практике запись и воспроизведение произвольных действий — это, в частности, отсутствие у элементов уникальных идентификаторов, например свойства AutomationId, а также динамический и непредсказуемый характер Пользовательский интерфейс (примером может служить диалоговое окно диспетчера задач Windows, в котором элементы, перечисленные на вкладках "Процессы" или "Приложения", зависят от состояния системы). Поиск определенных элементов во время воспроизведения практически невозможен в подобных ситуациях.

В этом примере демонстрируется конкретная функциональная возможность Windows Presentation Foundation (WPF), и поэтому рекомендации по разработке приложений не соблюдаются. Более полное рассмотрение Windows Presentation Foundation (WPF) и рекомендации по тактике разработки приложений Microsoft .NET Framework см. в следующих разделах:

Специальные возможности: Рекомендации по специальным возможностям

Безопасность: Безопасность Windows Presentation Foundation

Локализация: Общие сведения о глобализации и локализации WPF

Download sample

Построение примера

  • Этот пример состоит из следующих трех проектов:

    • Проект ScriptGeneratorClient обеспечивает создание сценариев; конечное приложение запускается из пользовательского интерфейса клиента.

    • Проект ScriptGeneratorTarget предоставляет пользовательский интерфейс для клиентских приложений.

    • Проект ExecuteScript обеспечивает выполнение сценариев; конечное приложение запускается из пользовательского интерфейса клиента. Этот проект выполняется вручную после создания сценария и его копирования в файл script.cs.

  • Установите пакет средств разработки программного обеспечения для Windows и откройте окно командной строки среды его построения. В меню "Пуск" выделите пункты "Все программы", "Пакет SDK для Microsoft Windows", а затем "Оболочки CMD".

  • Загрузите образец, как правило из документации пакета SDK, на жесткий диск.

  • Чтобы построить образец из окна командной строки среды построения, перейдите в исходный каталог образца. В командной строке введите MSBUILD.

  • Чтобы построить образец в Microsoft Visual Studio, загрузите решение образца или файл проекта и нажмите сочетание клавиш CTRL + SHIFT + B.

Формирование сценария

  • Для запуска скомпилированного образца в окне командной строки среды построения, выполните EXE-файл в папке Bin\Debug или Bin\Release, содержащихся в папке кода источника образца.

  • Для запуска скомпилированного образца с помощью отладки в Visual Studio, нажмите клавишу F5.

ms771275.alert_note(ru-ru,VS.90).gifПримечание.

Так запускается клиентское приложение ScriptGenerator. Конечное приложение запускается клиентом.

Выполнение сценария

  • Закройте клиент и конечное приложение.

  • Откройте файл Script.cs в проекте ExecuteScript.

  • Выделите имеющийся код и вставьте вместо него созданный сценарий.

  • Постройте и запустите проект ExecuteScript.

ms771275.alert_note(ru-ru,VS.90).gifПримечание.

При этом будет запущено клиентское приложение ExecuteScript. Конечное приложение запускается клиентом.