TbtkScriptTesterObject¶
- class TbtkScriptTesterObject¶
Класс, реализующий методы работы с тестируемым приложением Global.
- RecordingOperationName String ¶
Имя операции, куда будут отправляться новые сгенерированные строки скрипта и результаты выполнения операций, отправленных методом
TbtkScriptTesterObject.AddRecorderManualOperation
.- Return type:
String
Входные параметры:
Текст новой строки скрипта или результат выполнения операции.
Имя операции чей результат вернулся. Если вызов был произведён не в результате выполнения операции, а как результат непосредственной записи пользовательских действий- пустая строка.
Warning
Не реализовано
- DefualtRaiseOnTimeout Boolean ¶
Задаёт значение подставляемое по-умолчанию в дефолтный параметр RaiseOnTimeout ф-й поддерживающих обработку ошибок сервера
- Return type:
Boolean
Warning
Не реализовано
- DefaultDoRaise Boolean ¶
Задаёт значение подставляемое по-умолчанию в дефолтный параметр DoRaise ф-й поддерживающих обработку ошибок сервера
- Return type:
Boolean
Warning
Не реализовано
- DefaultWaitExecTimeout Integer ¶
Задаёт значение подставляемое по-умолчанию в дефолтный параметр Timeout ф-й поддерживающих обработку ошибок сервера
- Return type:
Integer
Warning
Не реализовано
- RaiseOperationName String ¶
Задаёт системное имя Pascal-операции обрабатывающей невыброшенные скриптовыми методами исключительные ситуации. В операцию первым параметром поступает текст исключительной ситуации, для того, чтобы можно было, например, сохранить его в лог выполнения скрипта. Операция должна принадлежать той же выборке что исполняет скрипт.
- Return type:
String
Warning
Не реализовано
- ScriptRecording Boolean ¶
Свойство указывает, что тестируемое приложение работает в режиме записи тестового скрипта.
- Return type:
Boolean
Warning
Не реализовано
- Runned Boolean ¶
Свойство указывает, запущено ли тестируемое приложение.
Атрибут только для чтения
- Return type:
Boolean
Warning
Не реализовано
- AddRecorderManualOperation(SysName, Caption: String; ImageIndex: Integer; ScriptText: String)¶
Добавляет операцию ручного управления записью скрипта
- Parameters:
SysName (
String
) – Системное имя операции, которое ей будет присвоено.Caption (
String
) – поле DisplayLabel операции.ImageIndex (
Integer
) – Номер пиктограммы в основном ImageList’е приложения.ScriptText (
String
) – Текст Pascal-операции.
Note
Метод должен вызываться в то время когда тестируемое приложение находится в режиме записи скрипта, т.е. после выполнения метода
TbtkScriptTesterObject.EnableScriptRecording
.После завершения записи (
TbtkScriptTesterObject.DisableScriptRecording
) все операции удаляются как и сам объект ручного управления записью скрипта.
Warning
Не реализовано
- CloseActiveModalWindow(ModalResult: TModalResult; Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean)¶
Закрывает модальное окно
- Parameters:
ModalResult (
TModalResult
) – Результат модального выполнения.Timeout (
Integer
) – Временной интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
Note
CommandType = tcUnknown
Находит верхнее окно (GetForegroundWindow) в целом, и, если оно принадлежит Серверному приложению - присваивает ему результат модального выполнения, что опосредованно должно привести к его закрытию.
Warning
Не реализовано
- CloseActiveWindow(Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean)¶
Метод закрывает окно
- Parameters:
Timeout (
Integer
) – Временной интервал ожиданияDoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
Note
CommandType = tcUnknown
Находит верхнее окно, проверяет на принадлежность к Серверу (ищет хендл среди компонентов) и посылает ему сообщение PostMessage WM_Quit.
Warning
Не реализовано
- RunAsCurrent(CmdLine: String)¶
Метод запускает экземпляр тестируемого приложения, используя имя пользователя и пароль текущего пользователя. В качестве параметра может быть передано системное имя главной выборки приложения.
- Parameters:
CmdLine (
String
) – Параметры командной строки
Warning
Не реализовано
- WaitDialogA(DialogCaption: String; TimeOut: Integer)¶
Метод ожидает отображения диалога в тестируемом приложении. Если диалог не будет отображён в течении указанного интервала времени, будет сгенерирована ошибка.
- Parameters:
DialogCaption (
String
) – Заголовок окна диалога.TimeOut (
Integer
) – Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении. (в миллисекундах).
Note
то же самое, что и
WaitWindow
, но ClassName фиксирован - “TbtkMessageForm”.Пример использования¶<pascal> TestApp.WaitDialog('Текст заголовка', 1000); // Вызов идентичен вызову: TestApp.WaitWindow('TbtkMessageForm', 'Текст заголовка', 1000); </pascal>
Warning
Не реализовано
- InputText(Text: String)¶
Метод эмулирует клавиатурный ввод текста в текущий контрол.
- Parameters:
Text (
String
) – Текст, который будет введён в текущий контрол
Пример использования¶<PASCAL> TestApp.Run(''); // Запуск приложения TestApp.WaitWindow('TbtkConnectForm', 'Соединение', 10000); // Ожидание формы ввода пароля Sleep(1000); TestApp.InputText('password'); // Ввод пароля Sleep(1000); TestApp.KeyPress(9); // Переход по клавише Tab на поле выбора базы Sleep(1000); TestApp.KeyPress(9); //Переход по клавише Tab на кнопку OK TestApp.KeyPress(13); // Нажатие Enter, для закрытия диалога </PASCAL>
Warning
Не реализовано
- ExecuteOperation(SelectionName, Representation, OperationName: String; Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean)¶
Метод выподняет операцию, принадлежащую выборке с указанным именем и отображением.
Выполнение операции производится асинхронно.
- Parameters:
SelectionName (
String
) – Системное имя выборкиRepresentation (
String
) – Отображение выборкиOperationName (
String
) – Имя операцииTimeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
Note
CommandType = tcExecuteOperation
Пример использования¶<PASCAL> // Запуск приложения TestApp.Run('username/password@DBName#btk'); // Ожидание окна выбора приложения TestApp.WaitSelection('SEL_BTK_APPLICATIONS', 'LIST', 15000); Sleep(1000); // Позиционирование в списке приложений на Конфигуратор TestApp.SelectionLocate('SEL_BTK_APPLICATIONS', 'LIST', 'sSystemName', 'SEL_ConfiguratorMainMenu'); Sleep(1000); // Выбор приложения, нажатием операции CloseFormOk TestApp.ExecuteOperation('SEL_BTK_APPLICATIONS', 'LIST', 'CloseFormOk'); // Ожидание клавной выборки приложения TestApp.WaitSelection('SEL_CONFIGURATORMAINMENU', '', 10000); Sleep(1000); TestApp.Quit; </PASCAL>
Warning
Не реализовано
- Quit()¶
Метод завершает работу, запущенного ранее экземпляра тестируемого приложения. Если в тестируемом приложении открыты какие-либо окна будет задан вопрос о подтверждении закрытия.
Пример использования¶<PASCAL> // Запуск приложения TestApp.Run('username/password@DBName#btk'); // Ожидание окна выбора приложения TestApp.WaitSelection('SEL_BTK_APPLICATIONS', 'LIST', 15000); Sleep(1000); // Позиционирование в списке приложений на Конфигуратор TestApp.SelectionLocate('SEL_BTK_APPLICATIONS', 'LIST', 'sSystemName', 'SEL_ConfiguratorMainMenu'); Sleep(1000); // Выбор приложения, нажатием операции CloseFormOk TestApp.ExecuteOperation('SEL_BTK_APPLICATIONS', 'LIST', 'CloseFormOk'); // Ожидание клавной выборки приложения TestApp.WaitSelection('SEL_CONFIGURATORMAINMENU', '', 10000); Sleep(1000); TestApp.Quit; </PASCAL>
Warning
Не реализовано
- IsSelectionActive(SelectionName, Representation: String; Timeout: Integer; DoRise, RaiseOnTimeout: Boolean) Integer ¶
Метод проверяет существование и активность выборки с указанным именем и отображением на текущей форме тестируемого приложения. Возможные результаты, возвращаемые методом:
- 1
Выборка существует и активна
- -1
Выбока не найдена
- -2
Выборка не активна
- Parameters:
SelectionName (
String
) – Имя выборкиRepresentation (
String
) – ОтображениеTimeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
- Return type:
Integer
Warning
Не реализовано
- ExecuteOperationEx(SelectionName, Representation, OperationName: String; ParamNames, ParamValues: Array; Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean)¶
Метод выполняет операцию, принадлежащую выборке с указанным именем и отображением. В метод возможно передать параметры, управляющие режимом выполнения операции. Указание параметров может быть необходимо при вызове сеттеров, в которых производится анализ свойств
SetterExecType
,GetEditButtonName
иUserActionType
.Имя параметра
Возможные значения
‘SetterExecType’
etUnknown
etEditBtn (по-умолчанию)
etClearBtn
etManual
etSetVar
etExecOp
etBulkUpdate
‘ButtonName’
‘LOOKUP#’ - кнопка выбора значения (по умолчанию)
‘OPENCARD#’ - кнопка открытия карточки
‘UserAction’
uaUnknown (по-умолчанию)
uaNextControl
Выполнение операции производится асинхронно.
- Parameters:
SelectionName (
String
) – Имя выборкиRepresentation (
String
) – ОтображениеOperationName (
String
) – Имя операцииParamNames (
Array
) – Массив параметровParamValues (
Array
) – Массив значений параметровTimeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
Warning
Не реализовано
- CloseActiveForm(Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean)¶
Метод закрывает текущую активную форму тестового приложения. Определение активной формы приложения производится в следующем порядке:
Диалог (форма диалога должна быть активной)
Модальная форма
MDI форма
Главное окно приложения
- Parameters:
Timeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
Note
CommandType = tcCloseActiveForm
Просто закрывает активную форму серверного приложения, аналогично CloseActiveModalForm (mrCancel), но асинхронно: на CloseQuery может быть повешен модальный вызов - он не должен остановить выполнение скрипта.
Warning
Не реализовано
- DisableScriptRecording()¶
Метод выключает в тестируемом приложении режим записи тестового скрипта.
Warning
Не реализовано
- EnableScriptRecording()¶
Метод включает в тестируемом приложении режим записи тестового скрипта.
Метод должен вызываться из выборки, редактором которой является TbtkLookUpScriptEditFrame или TbtkScriptEditFrame. Допустимо, если редактор скрипта будет являться детальным фреймом к фрейму текущей выборки. Это условие необходимо из-за того, что регистратором скрипта является “фрейм - редактор скриптов”, Handle которого передаётся тестируемому приложению.
Warning
Не реализовано
- FocusOnFieldByName(SelectionName, Representation, FieldName: String; Timeout: Integer; DoRise, RaiseOnTimeout: Boolean)¶
Метод перемещает фокус ввода на контрол, являющийся редактором для указанного атрибута выборки. Для карточки, это будет редактор, для списка или дерева, колонка соответствующая указанному атрибуту.
- Parameters:
SelectionName (
String
) – Системное имя выборкиRepresentation (
String
) – ОтображениеFieldName (
String
) – Имя атрибутаTimeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
Warning
Не реализовано
- FocusOnFirstControl(Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean)¶
Установить фокус на первый контрол активной формы.
- Parameters:
Timeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
Warning
Не реализовано
- KeyPressA(Key: Integer; ShiftState: Array)¶
Метод эмулирует нажатие комбинации клавиш.
- Parameters:
Key (
Integer
) – Код клавиши, нажатие которой должно быть эмулировано.ShiftState (
Array
) –Массив определяет, какие функциональные клавиши (Alt, Ctrl, Shift) были нажаты в дополнении к основной клавише. Допустимые значения элементов массива:
ssAlt
ssCtrl
ssShift
Пример использования¶<PASCAL> TestApp.KeyPressA(ord('D'), [ssAlt, ssCtrl, ssShift]); </PASCAL>
Warning
Не реализовано
- KeyPress(Key: Integer)¶
Метод эмулирует нажатие клавиши с указанным кодом.
- Parameters:
Key (
Integer
) – Код клавиши, нажатие которой должно быть эмулировано.
Пример использования¶<PASCAL> TestApp.Run(''); // Запуск приложения TestApp.WaitWindow('TbtkConnectForm', 'Соединение', 10000); // Ожидание формы ввода пароля Sleep(1000); TestApp.InputText('password'); // Ввод пароля Sleep(1000); TestApp.KeyPress(9); // Переход по клавише Tab на поле выбора базы Sleep(1000); TestApp.KeyPress(9); //Переход по клавише Tab на кнопку OK TestApp.KeyPress(13); // Нажатие Enter, для закрытия диалога </PASCAL>
Warning
Не реализовано
- SelectionGetVar(SelectionName, Representation, VarName: String; Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean) Variant ¶
Метод возвращает значение атрибута (параметра) указанной выборки.
- Parameters:
SelectionName (
String
) – Системное имя выборкиRepresentation (
String
) – Отображение выборкиVarName (
String
) – Имя параметраTimeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
- Return type:
Variant
Warning
Не реализовано
- SelectionSetVar(SelectionName, Representation, VarName: String; Value: Variant; Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean)¶
Метод устанавливает значение параметру в указанной выборке.
- Parameters:
SelectionName (
String
) – Системное имя выборкиRepresentation (
String
) – Отображение выборкиVarName (
String
) – Имя параметраValue (
Variant
) – Значение параметраTimeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
Note
CommandType = tcSetVar
Если серверный сеттер решит вернуть сообщение об ошибке - оно уже не попадёт в результат выполнения этого метода, т.к. SQL-Операция выполняется асинхронно - исключение будет выбрано из очереди следующим поддерживающим обработку ошибок сервера методом за этим.
Warning
Не реализовано
- WaitSelection(SelectionName, Representation: String; TimeOut: Integer)¶
Метод ожидает создания и открытия выборки с указанным именем. Если выборка не будет создана и открыта в течении указанного интервала времени, будет сгенерирована ошибка.
- Parameters:
SelectionName (
String
) – Имя выборки.Representation (
String
) – Отображение выборки.TimeOut (
Integer
) – Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении. (в миллисекундах).
Note
Это не метод интерфейса, он реализован непосредственно на уровне объекта TestApp. Выполняет в цикле проверку
TbtkScriptTesterObject.IsSelectionActive
с задержкой в 100 миллисекунд, если за время работы ф-и выборка с такими характеристиками так и не появилась - будет выброшена исключительная ситуация “Ожидание выборки прекращено по таймауту”. После каждого вызова IsSelectionActive так же выполняется проверка на наличие ошибок в очереди сервера.Пример использования¶<PASCAL> // Запуск приложения TestApp.Run('username/password@DBName#btk'); // Ожидание окна выбора приложения TestApp.WaitSelection('SEL_BTK_APPLICATIONS', 'LIST', 15000); Sleep(1000); // Позиционирование в списке приложений на Конфигуратор TestApp.SelectionLocate('SEL_BTK_APPLICATIONS', 'LIST', 'sSystemName', 'SEL_ConfiguratorMainMenu'); Sleep(1000); // Выбор приложения, нажатием операции CloseFormOk TestApp.ExecuteOperation('SEL_BTK_APPLICATIONS', 'LIST', 'CloseFormOk'); // Ожидание клавной выборки приложения TestApp.WaitSelection('SEL_CONFIGURATORMAINMENU', '', 10000); Sleep(1000); TestApp.Quit; </PASCAL>
Warning
Не реализовано
- CloseActiveModalForm(ModalResult: TModalResult; Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean)¶
Метод закрывает текущую активную модальную форму тестового приложения установкой форме соответствующего значения ModalResult. Определение активной модальной формы приложения производится в следующем порядке:
Диалог (форма диалога должна быть активной)
Модальная форма
Не модальные формы метод не закрывает.
- Parameters:
ModalResult (
TModalResult
) – Значение, которое будет присвоено свойству ModalResult формы.Timeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
Warning
Не реализовано
- WaitDialog(TimeOut: Integer)¶
Метод ожидает отображения диалога в тестируемом приложении. Если диалог не будет отображён в течении указанного интервала времени, будет сгенерирована ошибка.
- Parameters:
TimeOut (
Integer
) – Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении (в миллисекундах).
Note
CommandType = tcUnknown
Работает как
WaitSelection
, проверяет верхнее окно Серверного приложения наClassName = 'TbtkMessageForm'
и состояниеfsModal in FormState
Пример использования¶<pascal> TestApp.WaitDialog(1000); // Вызов идентичен вызову: TestApp.WaitWindow('TbtkMessageForm', '', 1000); </pascal>
Warning
Не реализовано
- WaitWindow(WindowClass, WindowCaption: String; TimeOut: Integer)¶
Метод ожидает отображения в тестируемом приложении окна указанного класса и с указанным текстом в заголовке. Если окно не будет отображено в течении указанного интервала времени, будет сгенерирована ошибка.
- Parameters:
WindowClass (
String
) – Класс окна Windows.WindowCaption (
String
) – Заголовок окна.TimeOut (
Integer
) – Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении. (в миллисекундах).
Пример иллюстрирует запуск тестируемого приложения и ввод в диалог соединения имени пользователя¶// Паузы в выполнении скрипта (Sleep) оставлены для большей наглядности. <PASCAL> TestApp.Run(''); // Запуск приложения TestApp.WaitWindow('TbtkConnectForm', 'Соединение', 10000); // Ожидание формы ввода пароля Sleep(1000); TestApp.InputText('password'); // Ввод пароля Sleep(1000); TestApp.KeyPress(9); // Переход по клавише Tab на поле выбора базы Sleep(1000); TestApp.KeyPress(9); //Переход по клавише Tab на кнопку OK TestApp.KeyPress(13); // Нажатие Enter, для закрытия диалога </PASCAL>
Warning
Не реализовано
- Terminate()¶
Метод аварийно завершает работу тестируемого приложения. Тестируемое приложение завершает свою работу без запросов закрытия активных форм.
Warning
Не реализовано
- Run(CmdLine: String; InitSyncronize: Boolean)¶
Метод запускает экземпляр тестируемого приложения.
- Parameters:
CmdLine (
String
) – Параметры командной строки.InitSyncronize (
Boolean
) –Синхронизировать выполнение операций.
- True
При выполнении операций будет выполнен забор сообщений (на данный момент: результаты выполнения команд и недетерминированные ошибки сервера) от OLE-сервера тестирования. При наличии сообщения или timeout’а будет возбуждено исключение.
Пример использования¶<PASCAL> // Запуск приложения TestApp.Run('username/password@DBName#btk'); // Ожидание окна выбора приложения TestApp.WaitSelection('SEL_BTK_APPLICATIONS', 'LIST', 15000); Sleep(1000); // Позиционирование в списке приложений на Конфигуратор TestApp.SelectionLocate('SEL_BTK_APPLICATIONS', 'LIST', 'sSystemName', 'SEL_ConfiguratorMainMenu'); Sleep(1000); // Выбор приложения, нажатием операции CloseFormOk TestApp.ExecuteOperation('SEL_BTK_APPLICATIONS', 'LIST', 'CloseFormOk'); // Ожидание клавной выборки приложения TestApp.WaitSelection('SEL_CONFIGURATORMAINMENU', '', 10000); Sleep(1000); TestApp.Quit; </PASCAL>
Возможные варианты использования метода¶<PASCAL> // Отобразится диалог ввода пользовател и пароля TestApp.Run(''); // Если имя пользователя и пароль указаны верно, отобразится диалог выбора приложения TestApp.Run('username/password@DBName#btk'); // Запустится указанное приложение TestApp.Run('username/password@DBName#btk SEL_ConfiguratorMainMenu'); </PASCAL>
Warning
Не реализовано
- SelectionLocate(SelectionName, Representation, FieldName: String; FieldValue: Variant; Timeout: Integer; DoRaise, RaiseOnTimeout: Boolean) Integer ¶
Метод выполняет позиционирование на запись в указанной выборке по ключевому полю. Возможные результаты, возвращаемые методом:
- 1
Позиционирование произведено успешно
- -1
Выбока не найдена
- -2
Выборка не активна
- -4
Запись не найдена
- Parameters:
SelectionName (
String
) – Имя выборки.Representation (
String
) – Отображение выборки.FieldName (
String
) – Имя поля.FieldValue (
Variant
) – Значение поля.Timeout (
Integer
) – Интервал ожидания.DoRaise (
Boolean
) – Возбуждать исключение при ошибке во время выполнения метода.RaiseOnTimeout (
Boolean
) – Возбуждать исключение при превышении таймаута ожидания.
- Return type:
Integer
Пример использования¶<PASCAL> // Запуск приложения TestApp.Run('username/password@DBName#btk'); // Ожидание окна выбора приложения TestApp.WaitSelection('SEL_BTK_APPLICATIONS', 'LIST', 15000); Sleep(1000); // Позиционирование в списке приложений на Конфигуратор TestApp.SelectionLocate('SEL_BTK_APPLICATIONS', 'LIST', 'sSystemName', 'SEL\_ConfiguratorMainMenu'); Sleep(1000); // Выбор приложения, нажатием операции CloseFormOk TestApp.ExecuteOperation('SEL_BTK_APPLICATIONS', 'LIST', 'CloseFormOk'); // Ожидание клавной выборки приложения TestApp.WaitSelection('SEL_CONFIGURATORMAINMENU', '', 10000); Sleep(1000); TestApp.Quit; </PASCAL>
Warning
Не реализовано