Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование / Метод.указания.doc
Скачиваний:
58
Добавлен:
01.05.2014
Размер:
801.28 Кб
Скачать

Язык скриптов написания автоматизированных тестов в среде Rational Robot

Язык скриптов – это программный язык, позволяющий настраивать и оптимизировать скрипты. Будучи скомпилированным в машинный код, язык скриптов заставляет тестируемую программу поверить в то, что пользователь выполняет определенные действия, и соответственно на них реагировать. Язык Rational Robot – SQABasic – модифицированная версия языка VisualBasic.

Переменные

Язык SQABasicпо своей структуре является языком с обязательным указанием типа переменной. Подобная архитектура языка подразумевает четкое определение типа переменной. Синтаксис определения переменной является следующим:

Dim [ Shared ] variableName [As type],

где Shared– флаг доступности переменной несколькими процессами одновременно. Принимает значенияShared, если доступ разрешен, иnull– если нет. Доступ контролируется операторомaccess;

variableName– имя переменной;

type– тип данных.

SQABasicтакже поддерживает определение констант. Синтаксис объявления константы является следующим:

[Global] Const constantName [As Type]= expression,

где Global– флаг определения глобальности переменной;

type – типа данных (Number или String);

constantName– имя константы;

expression– инициализирующее выражение.

Тип данных

Описание

Граничные значения

Integer

Короткое целое число

Минимальное: -32768

Максимальное: 32767

Long

Длинное целое число

Минимальное: -2147483648

Максимальное: 2147483647

Single

Короткая дробь

От -3,402Е38 до -1,401Е-45 – отрицательные значения

От 1,401Е-45 до 3,402Е38 – положительные значения

Double

Длинная дробь

От -1,797Е308 до -4,94Е-324 – отрицательные значения

От 4,94Е-324 до 1,797Е308 – положительные значения

Currency

Время

Минимальное:

-992337203685477,5808

Максимальное: 992337203685477,5807

STRING

Строка

Минимальное: нет символов

Максимальное: 32767 символов

STRING

Строка фиксированной длины

Минимальное: 1 символ

Максимальное: 32767 символов

Массивы данных

SQABasicподдерживает как жестко определенные массивы с возможностью изменять в дальнейшем количество элементов, так и динамические массивы. Массивы могут быть как одномерными, так и многомерными.

Объявление массива имеет следующий синтаксис:

Dim Array_name (Dim1, Dim2, …) as data-type,

где Array_name– имя массива;

Dim1,Dim2,…- измерения массива;

data-type– тип данных массива.

Обращение к элементам такого массива осуществляется посредством указания имени массива и порядкового номера элемента (начиная с 0):

Dim MyArray (10,100) as Integer

temp_var = MyArray[1.99]

Операторы

SQABasicподдерживает следующие операторы:

Оператор

Значение

+

Сложение

-

Вычитание

*

Умножение

/

Деление

Mod

Деление нацело (остаток от деления)

^

Возведение в степень

Логические операторы

SQABasicподдерживает следующие логические операторы:

Оператор

Значение

And

И

Or

ИЛИ

Not

НЕ

Xor

Бинарное И

Eqv

Бинарное ИЛИ

Imp

Бинарное НЕ

Операторы сравнения

SQABasicподдерживает следующие операторы сравнения:

Оператор

Значение

>

Больше

>=

Больше или равно

<

Меньше

<=

Меньше или равно

=

Равно

<>

Не равно

Условные операторы

SQABasicподдерживает как условный операторIF…ELSE, так и условный операторSWITCH.

Условный оператор IF… ELSEимеет следующий синтаксис:

If condition Then statement_block

[ ElseIf expression then statement_block]…

[ Else statement_block ]

End If

При этом оператор Ifможет использоваться как с операторамиElseIfиElse, так и без них.

Условный оператор SWITCHимеет следующий синтаксис:

Select Case testexpression

[ Case expressionlist [statement_block] ]

[ Case expressionlist [statement_block] ]

[ Case expressionlist [statement_block] ]

End Select

Операторы цикла

SQABasicподдерживает все три оператора цикла,FOR, WHILEиDO…WHILE. При этом в операторахWHILEиDO…WHILEпоявляется операторUNTIL. При использовании этого оператора цикл будет исполняться до тех пор, пока не наступит ситуация, описанная в логическом выражении оператораUNTIL.

Оператор цикла FORимеет следующий синтаксис:

For counter = start TO end [STEP increment]

[statement_block]

[Exit For]

[statement_block]

Next [counter]

Оператор цикла WHILEимеет следующий синтаксис:

Do [{While | Until}condition]

[statement_block]

[Exit Do]

[statement_block]

Loop

Оператор цикла DO…WHILE имеет следующий синтаксис:

Do

[statement_block]

[Exit Do]

[statement_block]

Loop [{While | Until}condition]

Функции приведения типов

SQABasic по своей структуре является языком с обязательным указанием типа переменной. SQABasic предоставляет пользователю следующие функции приведения типов:

sNum=Str$( number ),

где sNum– переменная типа STRING, полученная приведениемnNum;

number– переменная, содержащая цифровое представление символьного значения.

Функция приводит переменную, содержащую цифровое представление символьного значения, в переменную типа STRING, содержащую соответствующее символьное значение.

nNum = Val (string$ ),

где nNum– цифровая переменная, полученная приведениемsToConvert;

string$ - переменная типа STRING, содержащая символьное представление цифрового значения.

Функция приводит переменную типа STRING, содержащую символьное представление цифрового значения, в цифровую переменную, содержащую соответствующее цифровое значение.

Существуют также следующие функции, которые не полностью попадают под определение «функции приведения типов», но при этом имеют большое значение для работы:

Функция

Описание

Asc (string$)

Возвращает ASCII-код символаstring$

Chr (charocode$)

Возвращает символ со значением ASCII-кода, равнымcharcode$

Ccur (expression)

Трансформирует выражение expressionв значение типаCurrency

CDbl (expression)

Трансформирует выражение expressionв значение типаDouble

Cint (expression)

Трансформирует выражение expressionв значение типаInteger

CLng (expression)

Трансформирует выражение expressionв значение типаLong

CSng (expression)

Трансформирует выражение expressionв значение типаSingle

CStr (expression)

Трансформирует выражение expressionв значение типаString

CVDate (expression)

Трансформирует выражение expressionв значение типаVariantDate

Функции работы с массивами

SQABasicпредоставляет пользователю следующие функции работы с массивами:

Erase Array [, Array]

Функция удаляет все элементы массива (реинициализирует их).

ReDim [Preserve] variableName (subscriptRange, …)

[As [New] type], …

где variableName– имя изменяемого массива;

subscriptRange– новые границы массива;

type – тип данных массива.

Функция изменяет заданные границы массива. Если опция Preserveуказан, то значения массива сохраняются. В противном случае переделанный массив реинициализируется.

Option Base lowerBound%

Функция устанавливает нижнюю границу массива по умолчанию (0 или 1).

LBound ( arrayName [, dimension] ),

где arrayName – имя массива;

dimension– измерение массива.

Функция возвращает нижнюю границу массива.

UBound ( arrayName [, dimension] )

Функция возвращает верхнюю границу массива.

Функции работы со строками

SQABasicпредоставляет пользователю следующие функции работы со строками:

GetField$ ( string$, field_number$, separator_chars$ ),

где string$- искомая строка;

field_number%- номер возвращаемого сегмента;

separator_chars%- флаг разбиения (символ, на основе которого будет произведена разбивка).

Функция возвращает сегмент строки по заданным параметрам.

Len( string$ )

Функция возвращает длину строки

Left$ (string$, length%)

Функция возвращает заданное количество символов length%, начиная от самого левого символьного значения.

Right$ (string$, length%)

Функция возвращает заданное количество символов length%, начиная от самого правого символьного значения.

LTrim$ (expression)

Функция возвращает строку с удаленными начальными пробелами.

RTrim$ (expression)

Функция возвращает строку с удаленными конечными пробелами.

Trim$ (expression)

Функция возвращает строку с удаленными пробелами.

LCase$( string$ )

Функция возвращает данную строку в нижнем регистре.

UCase$( string$ )

Функция возвращает данную строку в верхнем регистре.

Space$ (number)

Функция возвращает строку с заданным количеством пробелов.

String$ (number, string$)

Функция возвращает количество строки заданное количество раз.

InStr( [start$], string1$, string2$ )

Функция возвращает положение string2$вstring1$, гдеstart$- индекс начала поиска (0 если не найдена).

StrComp( string1$, string2$, [,compare%])

Функция сравнивает две строки, compare%- флаг учета регистра (0 – с учетом, 1 – без учета регистра).

SetField$( string$, field_number%, field$, separator_chars$),

где field_number%- начальная позиция изменения;

field$- новое значение символа;

separator_chars$- символ-разделитель.

Функция заменяет символы от field_number%до следующегоseparator_chars$наfield$вstring$.

string$ LIKE pattern$

Оператор проверяет строку на присутствие маски поиска pattern$.

Hex$ ( number )

Функция конвертирует десятичное число в восьмеричное и возвращает его строковое значение.

Oct$ ( number )

Функция конвертирует десятичное число в шестнадцатеричное и возвращает его строковое значение.

Mid$ ( string%, start% [, length%] ),

где start%- позиция в данной строке;

length%- длина вырезаемой части.

Функция возвращает часть данной строки длиной length%, начиная отstart%.