- •Введение
- •Спецификация на систему (тестовый пример):
- •Составление TestCases (далее тс) для тестирования системы
- •Язык скриптов написания автоматизированных тестов в среде Rational Robot
- •Элементы интерфейса и их функции
- •Вспомогательные функции
- •Создаем новый скрипт
- •Автоматизация приложения-примера
- •1. Создание нового проекта
- •Запускаем Rational Robot
Вспомогательные функции
Все вспомогательные функции сгруппируем следующим образом:
функции имитации клавиатурного ввода;
функции имитации действий, выполняемых мышью;
функции работы с системой;
функции оповещения о результатах;
функции синхронизации;
функции для проверки существования объекта;
функции работы с файлами.
Функции имитации клавиатурного ввода
Rational Robot предоставляет пользователю две функции имитации клавиатурного ввода: InputKeys и InputChars. Различие этих функций состоит в том, что InputKeys передает объекты в фокусе непосредственного значения клавиш, тогда как InputChars передает любое значение как строку. В исполнении InputKeys F1 – это функциональная клавиша вызова 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 |
Функции имитации действий, выполняемых мышью
Rational Robot предоставляет пользователю 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;
Функции работы с системой
Rational Robot имеет две функции работы с системой: SQAShellExecute и StartApplication. Функции практически идентичны, разница только в том, что SQAShellExecute ожидает от пользователя или исполняемый файл, или правильную строку запуска DOS, тогда как StartApplication позволяет открыть файл, используя программу запуска, указанную в реестре.
SQAShellExecute filename$, directory$, parameters$,
где filename$ - полный путь и имя программы/файла;
directory$ - путь по умолчанию для запускаемой программы;
parameters$ - параметры командной строки.
StartApplication Pathname$,
где Pathname$ - полный путь и имя запускаемой программы/файла. Может включать в себя параметры и правильно составленную строку запуска DOS.
Функции оповещения о результатах
Rationel Robot предоставляет пользователю всего одну функцию оповещения результатов SQALogMessage.
SQALogMessage code%, message$, description$,
где code% - статус выполнения скрипта:
sqaPass – скрипт прошел без ошибок;
sqaFail – при прохождении скрипта найдена ошибка;
sqaWarning – при прохождении скрипта найдена внештатная ситуация;
sqaNone – сообщение пользователя;
message$ - описанипе ошибки, сообщения или выполняемого шага;
description$ - детальное описание ошибки, сообщения или выполняемого шага.
Пример: SQALogMessage sqaPass, “Последний шаг”, “Тест пройден без ошибок”
SQALogMessage sqaFail, “Найдено несоответствие данных”
SQALogMessage sqaWarning, “Объект класса EditBox не найден”
SQALogMessage sqaNone, “Значение переменной Result: ” & Str(Result), “”
Функции синхронизации
Rational Robot предоставляет пользователю только одну функцию синхронизации 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%.
Обработка ошибок
Rational Robot имеет те же возможности ошибок, что и 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
Rational Robot предлагает следующие функции работы с ошибками:
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 в список компиляции.
