Пример генератора тестовых сценариев
Обновлен: Ноябрь 2007
В этом примере демонстрируется использование шаблонов элементов управления и событий Модель автоматизации пользовательского интерфейса Майкрософт для создания сценариев автоматического тестирования. Генератор тестовых сценариев отслеживает взаимодействие пользователя с пользовательский интерфейс конечного приложения и сохраняет представляющие интерес элементы и события.
Сведения об элементе и связанных с ним событиях сохраняются в общем классе записи (UIAEventRecord.cs). Общие сведения и сценарий могут быть записаны в виде обычного текста для последующего анализа или изменения тестером, а также для последующего воспроизведения созданного сценария.
Приложениям, построенным на событиях (таким, как в этом примере), свойственны ограничения, которые не позволяют различать изменения в пользовательский интерфейс, обусловленные прямым или косвенным вводом данных со стороны пользователя. Например, конечное приложение в этом примере содержит три взаимозависимых элемента управления, и взаимодействие пользователя с одним из элементов приводит к изменениям во всех остальных элементах управления.
Внимание! |
---|
Модель автоматизации пользовательского интерфейса и сценарии автоматического тестирования, рассмотренные в этом примере, требуют соглашения между разработчиком приложения или элемента управления и тестером. Другими словами, возможность систематически успешно выполнять сформированный сценарий зависит от наличия статического, прогнозируемого конечного Пользовательский интерфейс. В этой связи Модель автоматизации пользовательского интерфейса не следует рассматривать как подходящее решение в ситуациях, когда требуется записывать и затем воспроизводить взаимодействие с произвольными приложениями и элементами управления. Типичные проблемы, не позволяющие адекватно реализовать на практике запись и воспроизведение произвольных действий — это, в частности, отсутствие у элементов уникальных идентификаторов, например свойства AutomationId, а также динамический и непредсказуемый характер Пользовательский интерфейс (примером может служить диалоговое окно диспетчера задач Windows, в котором элементы, перечисленные на вкладках "Процессы" или "Приложения", зависят от состояния системы). Поиск определенных элементов во время воспроизведения практически невозможен в подобных ситуациях. |
В этом примере демонстрируется конкретная функциональная возможность Windows Presentation Foundation (WPF), и поэтому рекомендации по разработке приложений не соблюдаются. Более полное рассмотрение Windows Presentation Foundation (WPF) и рекомендации по тактике разработки приложений Microsoft .NET Framework см. в следующих разделах:
Специальные возможности: Рекомендации по специальным возможностям
Безопасность: Безопасность Windows Presentation Foundation
Локализация: Общие сведения о глобализации и локализации WPF
Построение примера
Этот пример состоит из следующих трех проектов:
Проект 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.
Примечание. |
---|
Так запускается клиентское приложение ScriptGenerator. Конечное приложение запускается клиентом. |
Выполнение сценария
Закройте клиент и конечное приложение.
Откройте файл Script.cs в проекте ExecuteScript.
Выделите имеющийся код и вставьте вместо него созданный сценарий.
Постройте и запустите проект ExecuteScript.
Примечание. |
---|
При этом будет запущено клиентское приложение ExecuteScript. Конечное приложение запускается клиентом. |