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

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

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

Переменные

Язык 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%.