- •Введение
- •Спецификация на систему (тестовый пример):
- •Составление TestCases (далее тс) для тестирования системы
- •Язык скриптов написания автоматизированных тестов в среде Rational Robot
- •Элементы интерфейса и их функции
- •ImageButton
- •Вспомогательные функции
- •Автоматизация приложения-примера
- •1. Создание нового проекта
ImageButton
Возможность щелкнуть на интерактивной кнопке
HTMLImage Click, recMethod$, Coords$,
где recMethod$- способ идентификации элемента ссылки;
Coords$- координаты объекта.
Link
Переход по ссылке
HTMLLink Click, recMethod$,
где recMethod$- способ идентификации элемента сслыки.
Вспомогательные функции
Все вспомогательные функции сгруппируем следующим образом:
функции имитации клавиатурного ввода;
функции имитации действий, выполняемых мышью;
функции работы с системой;
функции оповещения о результатах;
функции синхронизации;
функции для проверки существования объекта;
функции работы с файлами.
Функции имитации клавиатурного ввода
RationalRobotпредоставляет пользователю две функции имитации клавиатурного ввода:InputKeysиInputChars. Различие этих функций состоит в том, чтоInputKeysпередает объекты в фокусе непосредственного значения клавиш, тогда какInputCharsпередает любое значение как строку. В исполненииInputKeysF1 – это функциональная клавиша вызоваHelp, а в исполненииInputChars– это строка со значениемF1. Таким образом, формат функций таков:
InputKeys keytext$,
где keytext$- строка, описывающая клавиатурный ввод. Обозначение функциональных клавиш, таких какCtrl,Shiftи т.д., должно начинаться знаком { и заканчиваться знаком }.
InputChars keytext$
Функциональные клавиши и их значения
Клавиша |
Значение |
F1 |
F1 |
F2 |
F2 |
F3 |
F3 |
F4 |
F4 |
F5 |
F5 |
F6 |
F6 |
F7 |
F7 |
F8 |
F8 |
F9 |
F9 |
F10 |
F10 |
F11 |
F11 |
F12 |
F12 |
Enter |
Enter |
Esc |
Esc |
Shift |
LeftShift/RightShift |
Alt |
LeftAlt/RightAlt |
Ctrl |
LeftCtrl/RightCtrl |
Insert |
Insert |
Home |
Home |
Delete |
Delete |
Page Up |
PgUp |
Page Down |
PgDown |
End |
End |
Up |
Up |
Down |
Down |
Left |
Left |
Right |
Right |
Backspace |
Backspace |
Функции имитации действий, выполняемых мышью
RationalRobotпредоставляет пользователю 48 различных способов щелчка мыши.
Object MouseAction recType$,
где Object– объект, которому передается пользовательский щелчок мыши;
recType$- способ определения объекта;
MouseAction– вид щелчка мыши:
Click– левой кнопкой;
Middle_Click– средней кнопкой;
Right_Click– правой кнопкой;
Shift_Click– левой кнопкой при нажатой клавишеShift;
Shift_Middle_Click– средней кнопкой при нажатой клавишеShift;
Shift_Right_Click– правой кнопкой при нажатой клавишеShift;
Alt_Click– левой кнопкой при нажатой клавишеAlt;
Alt _Middle_Click– средней кнопкой при нажатой клавишеAlt;
Alt _Right_Click– правой кнопкой при нажатой клавишеAlt;
Ctrl_Click– левой кнопкой при нажатой клавишеCtrl;
Ctrl _Middle_Click– средней кнопкой при нажатой клавишеCtrl;
Ctrl _Right_Click– правой кнопкой при нажатой клавишеCtrl;
ShiftCtrl _Click– левой кнопкой при нажатых клавишахShift+Ctrl;
ShiftCtrl _Middle_Click– средней кнопкой при нажатых клавишахShift+Ctrl;
ShiftCtrl _Right_Click– правой кнопкой при нажатых клавишахShift+Ctrl;
ShiftAlt_Click– левой кнопкой при нажатых клавишахShift+Alt;
ShiftAlt_Middle_Click– средней кнопкой при нажатых клавишахShift+Alt;
ShiftAlt _Right_Click– правой кнопкой при нажатых клавишахShift+Alt;
CtrlAlt_Click– левой кнопкой при нажатых клавишахCtrl+Alt;
CtrlAlt_Middle_Click– средней кнопкой при нажатых клавишахCtrl+Alt;
CtrlAlt_Right_Click– правой кнопкой при нажатых клавишахCtrl+Alt;
ShiftCtrlAlt_Click– левой кнопкой при нажатых клавишахShift+Ctrl+Alt;
ShiftCtrlAlt_Middle_Click– средней кнопкой при нажатых клавишахShift+Ctrl+Alt;
ShiftCtrlAlt_Right_Click– правой кнопкой при нажатых клавишахShift+Ctrl+Alt;
DblClick– двойной, левой кнопкой;
Middle_DblClick– двойной, средней кнопкой;
Right_DblClick– двойной, правой кнопкой;
Shift_DblClick– двойной, левой кнопкой при нажатой клавишеShift;
Shift_Middle_DblClick– двойной, средней кнопкой при нажатой клавишеShift;
Shift_Right_DblClick– двойной, правой кнопкой при нажатой клавишеShift;
Alt_DblClick– двойной, левой кнопкой при нажатой клавишеAlt;
Alt _Middle_DblClick– двойной, средней кнопкой при нажатой клавишеAlt;
Alt _Right_DblClick– двойной, правой кнопкой при нажатой клавишеAlt;
Ctrl_DblClick– двойной, левой кнопкой при нажатой клавишеCtrl;
Ctrl _Middle_DblClick– двойной, средней кнопкой при нажатой клавишеCtrl;
Ctrl _Right_DblClick– двойной, правой кнопкой при нажатой клавишеCtrl;
ShiftCtrl _DblClick– двойной, левой кнопкой при нажатых клавишахShift+Ctrl;
ShiftCtrl _Middle_DblClick– двойной, средней кнопкой при нажатых клавишахShift+Ctrl;
ShiftCtrl _Right_DblClick– двойной, правой кнопкой при нажатых клавишахShift+Ctrl;
ShiftAlt_DblClick– двойной, левой кнопкой при нажатых клавишахShift+Alt;
ShiftAlt_Middle_DblClick– двойной, средней кнопкой при нажатых клавишахShift+Alt;
ShiftAlt _Right_DblClick– двойной, правой кнопкой при нажатых клавишахShift+Alt;
CtrlAlt_DblClick– двойной, левой кнопкой при нажатых клавишахCtrl+Alt;
CtrlAlt_Middle_DblClick– двойной, средней кнопкой при нажатых клавишахCtrl+Alt;
CtrlAlt_Right_DblClick– двойной, правой кнопкой при нажатых клавишахCtrl+Alt;
ShiftCtrlAlt_DblClick– двойной, левой кнопкой при нажатых клавишахShift+Ctrl+Alt;
ShiftCtrlAlt_Middle_DblClick– двойной, средней кнопкой при нажатых клавишахShift+Ctrl+Alt;
ShiftCtrlAlt_Right_DblClick– двойной, правой кнопкой при нажатых клавишахShift+Ctrl+Alt;
Функции работы с системой
RationalRobotимеет две функции работы с системой: SQAShellExecuteиStartApplication. Функции практически идентичны, разница только в том, чтоSQAShellExecute ожидает от пользователя или исполняемый файл, или правильную строку запускаDOS, тогда какStartApplication позволяет открыть файл, используя программу запуска, указанную в реестре.
SQAShellExecute filename$, directory$, parameters$,
где filename$ - полный путь и имя программы/файла;
directory$- путь по умолчанию для запускаемой программы;
parameters$ - параметры командной строки.
StartApplication Pathname$,
где Pathname$- полный путь и имя запускаемой программы/файла. Может включать в себя параметры и правильно составленную строку запускаDOS.
Функции оповещения о результатах
RationelRobotпредоставляет пользователю всего одну функцию оповещения результатовSQALogMessage.
SQALogMessage code%, message$, description$,
где code% - статус выполнения скрипта:
sqaPass– скрипт прошел без ошибок;
sqaFail –при прохождении скрипта найдена ошибка;
sqaWarning – при прохождении скрипта найдена внештатная ситуация;
sqaNone– сообщение пользователя;
message$- описанипе ошибки, сообщения или выполняемого шага;
description$- детальное описание ошибки, сообщения или выполняемого шага.
Пример: SQALogMessagesqaPass, “Последний шаг”, “Тест пройден без ошибок”
SQALogMessagesqaFail, “Найдено несоответствие данных”
SQALogMessagesqaWarning, “Объект классаEditBoxне найден”
SQALogMessage sqaNone, “Значение переменной Result: ” & Str(Result), “”
Функции синхронизации
RationalRobotпредоставляет пользователю только одну функцию синхронизацииDelayFor. Ее назначение – задержка исполнения скрипта на данное количество времени.
DelayFor milliseconds$,
где milliseconds$ – время задержки в миллисекундах.
Функции для проверки существования объекта
Rationalпредоставляет всего одну функцию –SQAFindObject().Эта функция возвращает результат поиска данного объекта:
SQAFindObject(recType$),
где recType$- способ определения объекта.
Кроме того, существует функция SQAWaitForObject, которая объединяет в себе функции синхронизации и определения существования объекта:
SQAWaitForObject(recType$,milliseconds$),
где recType$- способ определения объекта;
milliseconds$ – время задержки в миллисекундах.
Функции работы с файлами
Rationalпредоставила пользователю21 функцию работы с файлами: Close, Eof, FreeFiel, Get, Input Function, Line Input, Loc, Lock, Lof, Open, Print, Put, Reset, Seek Function, Seek Statement, Spc, Tab, Unlock, Width, Write. Рассмотрим используемые наиболее часто:
Данная функция открывает файл для работы с ним (запись и/или чтение)
Open filename$ [For mode] [Access access] As filenumber%,
где filename– полное имя открываемого файла;
mode– свойство открываемого файла, может быть следующим:
Input – последовательное чтение из файла;
Output– последовательная запись в файл;
Append – последовательное добавление в файл;
Random – случайный доступ;
Binary– доступ к бинарным данным;
access– настройка характера работы с файлом, может быть следующей:
Read – только чтение;
Write– только запись;
ReadWrite– запись и чтение (по умолчанию);
filenumber%- цифра от 1 до 255, назначаемая файлу.
Функция, устанавливающая позицию чтения/записи в файле
Seek filenumber%, position$,
где position$ - новое значение позиции.
Данная функция читает одну строку из указанного файла
Line Input filenumber%, varname$,
где varname$- переменная, хранящая прочитанную строку.
Функция записи одной строки в файл
Print filenumber%, expressionlist,
где expressionlist – переменная, хранящая выражение для записи в файл.
Функция, закрывающая файл по окончании работы с ним:
Close filenumber%.
Обработка ошибок
RationalRobotимеет те же возможности ошибок, что иVBScript. Средства обработки ошибок представляют собой конструкцииOn Error…Go toиOn Error…Resume Nextи ряд функций.
Конструкция On Error…Go to– типичный обработчик ошибокVBScript. В случае обнаружения ошибки в обрабатываемом коде исполнение передается блоку кода, указанному вGo to-части конструкции:
On Error Go to ErrHdl1
statements1
ErrHdl1:
statements2,
где statements1 – блок кода-под-наблюдением;
statements2- блок кода, непосредственно обрабатывающий произошедшую ошибку.
Конструкция On Error…Resume Next– тоже обработчик ошибокVBScript. В случае обнаружения ошибки в срабатываемом коде исполнение передается строке кода, следующей после той, в которой произошла ошибка:
On Error Resume Next
statement1
statement2
RationalRobotпредлагает следующие функции работы с ошибками:
Erl– возвращает номер строки, в которой произошла ошибка;
Error()– возвращает информацию об ошибке;
Err = n%- возвращает цифровой код ошибки в переменнуюn%;
Err()– возвращает цифровой код последней «пойманной» ошибки;
Error errornaumber%- осуществляет «ручной» вызов ошибки с кодомerrornumber%.
Функции пользователя
SQABasicреализует разбиение на процедуры и функции. В данном случае процедура - это
функция, которая не возвращает значения.
Процедура пользователя определяется следующим образом:
[ Static ] [Private ] Sub name [ ([ Optional ]) arg [As type ] ,…) ]
[statement_block]
End Sub,
где Static, Private – определение класса функции;
Optional– флаг указания обязательности параметра;
type– тип передаваемых данных.
Функция пользователя определяется следующим образом:
[ Static ] [Private ] Function name [ ([ Optional ]) arg [As type ] ,…) ] [ As functype ]
name = expression
End Function,
где functype – тип возвращаемого значения;
name = expression– возвращаемое значение.
Управление процессом исполнения
SQABasicимеет функцию вызова скрипта следующего вида:
CallScript script$,
где script$ - имя скрипта.
Функция вызывает скрипт script$.
Функция загрузки библиотеки функций SQABasicимеет следующий синтаксис:
‘$Include: “filename”,
где filename – имя библиотеки функций.
Функция включает библиотеку функций filenameв список компиляции.