| Назад: 17 Модульное тестирование | Содержание | Дальше: 19 Настройки TestComplete |
Возможности языков, поддерживаемых TestComplete, огромны, однако их не всегда хватает при написании скриптов. Для того, чтобы расширить возможности встроенных языков, а также чтобы предоставить доступ к некоторым специфичным возможностям приложения, в TestComplete были введены несколько очень полезных объектов, которые мы сейчас и рассмотрим.
Мы не будем рассматривать все возможности этих объектов и не будем рассматривать их на примерах, а дадим лишь общие описания объектов и некоторых наиболее часто используемых методов.
Общее правило при работе с TestComplete таково: если вам нужна функция, которой нет в языке программирования, который вы используете, сначала посмотрите, нет ли такой функции в уже готовых объектах TestComplete, и лишь затем приступайте к написанию своей (если в этом есть необходимость).
Объект Sys
Sys – это объект, через который предоставляется доступ ко всем процессам. Кроме того, с помощью объекта Sys можно получить информацию о системе. Например, информация об операционной системе (Sys.OSInfo), доступ к буферу обмена (Sys.Clipboard) и всему экрану (Sys.Desktop), имя компьютера и домен/рабочую группу (Sys.HostName и Sys.DomainName). С помощью объекта Sys.OleObject можно получить доступ к любому COM-объекту.
Объект Runner
Предназначен для управления ходом выполнения скриптов непосредственно из самих скриптов. Полезные методы: Start (запускает тесты из текущего проекта); Stop, Halt (останавливают выполнение скриптов, метод Halt позволяет при этом запостить в лог сообщение об ошибке); Pause (приостанавливает выполнение скрипта и активирует отладчик); CallMethod (запуск функции из другого модуля), CallObjectMethodAsync (позволяет запустить методы приложения асинхронно).
Особый интерес здесь представляет метод CallObjectMethodAsync, который позволяет не просто обратиться к какому-то методу тестируемого приложения, а запустить его асинхронно, т.е. запустить и продолжить выполнение скрипта, не дожидаясь окончания работы запущенного метода.
Обратите также внимание на то, что в метод CallMethod передается полное имя функции (т.е. имя в виде “имя_модуля.имя_функции”, причем это должна быть строка, например “Unit1.MyFunction”).
Объект BuiltIn
Большинство методов объекта BuiltIn считаются устаревшими и оставлены только для совместимости со скриптами, написанными в более ранних версиях TestComplete. Новые версии методов можно найти в объектах aqFile, aqConvert, aqObject и прочих.
Вот некоторые методы объекта BuiltIn, на данный момент не считающиеся устаревшими:
MessageDlg, InputBox, ShowMessage, InputQuery (позволяют отобразить на экране небольшие диалоговые окна разных типов для ввода и/или отображения информации)
ParamCount , ParamStr – возвращает количество параметров и сами параметры, переданные в TestComplete в командной строке
SendMail – позволяет отправить e-mail из скриптов
CreateVariantArray, CreateVariantArray2, CreateVariantArray3, VarArrayRedim, VarArrayHighBound, VarArrayLowBound – позволяют работать с Variant-массивами (т.е. массивами такого типа, которые используются в языке VBScript)
Остальные методы будут интересны только пользователям TestComplete версии 6 и ниже, так как в этих версиях программы еще нету объектов aqFile, aqEnvironment и т.п.
Объект Options
Это очень полезный объект, позволяющий во время работы скриптов менять некоторые настройки TestComplete и проекта, такие как используемая модель объектов в веб-приложениях, параметры изображений (формат, качество и т.п.), включение/выключение лога, переменные проекта (project variables) и пр. Пример использования объекта Options мы приводили в главе 4.1 Функциональное тестирование Web-приложений.
Объекты Project и ProjectSuite
Объекты Project и ProjectSuite предоставляют доступ к текущему проекту и набору проектов, позволяя определить их параметры (например, путь – свойство Path, имя – свойство FileName, глобальные переменные – свойство Variables и др.).
Объект aqUtils
Предоставляет различные дополнительные возможности, которых нет в других объектах, например издание звукового сигнала с помощью PC Speaker-a (метод Beep) и задержка выполнения скрипта на определенное время (Delay).
Обратите внимание, что в более ранних версиях метод Delay (который почему-то часто используется) находился в объекте BuiltIn, однако сейчас им не рекомендуется пользоваться (одна из причин – метод BuiltIn.Delay нельзя использовать при написании собственных надстроек, Extensions).
Использовать метод Delay рекомендуется только в самых крайних случаях, когда не получается обойтись методами Find, Wait и т.п. В подавляющем большинстве случаев можно обойтись без метода Delay.
Объект aqEnvironment
Предоставляет доступ для работы с плагинами TestComplete и операционной системой. Один из наиболее интересных методов этого объекта – это метод RebootAndContinue, позволяющий перезагрузить компьютер и продолжить выполнение скрипта с того самого места.
Объект aqObject
Предназначен для работы с оконными объектами (элементами управления в тестируемых приложениях). С его помощью можно вызвать метод объекта (CallMethod), получить список всех свойств и методов объекта (GetProperties, GetMethods и т.п.), проверить, поддерживается ли какой-либо метод объектом (IsSupported) и многое другое.
Объект aqConvert
Позволяет конвертировать данные одного типа в другой (например, StrToDate, DateTimeToStr и т.п.)
Объект aqDateTime
Предоставляет методы для работы с датой и временем
Объект aqString
Содержит большое количество методов для работы со строками
Объекты для работы с файловой системой
Несколько объектов для работы с файлами различных типов, папками и дисками: aqBinaryFile, aqDriveInfo, aqFile, aqFileInfo, aqFileCertificateInfo, aqFileSystem, aqFileVersionInfo, aqFolderInfo, aqTextFile.
| Назад: 17 Модульное тестирование | Содержание | Дальше: 19 Настройки TestComplete |