QTP自动化测试之VBScript基础(下)
来源:互联网 发布:手柄要下载什么软件 编辑:程序博客网 时间:2024/04/30 18:48
要想使用QTP进行自动化测试,必须了解VBScript这门语言,对于使用过ASP或VB开发的人来说,VBScript已经再熟悉不过了,但是没有接触过VBScript的同学也不要灰心,因为这门语言简单易学。
7. 条件语句
8. 循环语句
9. 过程
7. 条件语句
VBScript中可以使用以下条件语句:
- If…Then…Else语句
- Select Case语句
7.1. If…Then…Else语句
If…Then…Else语句结构如下:
1
If
condition
Then
statements [
Else
elsestatements]
或者使用块形式
1
If
condition
Then
2
[statements]
3
[
ElseIf
condition-n
Then
4
[elseifstatements]] . . .
5
[
Else
6
[elsestatements]]
7
End
If
主要参数:
- condition:为一个(多个)数值或字符串表达式,其运算结果为True或False,若condition为Null,则被视为False。
- statements:为condition等于True时执行的一条或多条(以冒号分开)语句。
对于短小简单的测试,可以使用单行形式(第一种语法),但块形式(第二种语法)提供了比单行形式更强的结构化与适应性,比较容易阅读、维护及调试。
01
'1. 条件为True时
02
'单行形式
03
Dim
myDate
04
myDate = #2011-9-8#
'日期时间字符串需用#括起来
05
If
myDate < Now
Then
myDate = Now
06
'块形式
07
If
i = 100
Then
08
c =
True
09
i = 0
10
End
If
11
12
'2. 条件为True和False时
13
If
user.UserName =
"admin"
Then
14
showAdminPage =
True
15
Else
16
showAdminPage =
False
17
End
If
18
19
'3. 对多个条件判断
20
If
value = 0
Then
21
MsgBox(0)
22
ElseIf
value = 1
Then
23
MsgBox(9999)
24
Else
25
MsgBox(
"输入不合法!"
)
26
End
If
7.2. Select Case语句
语法结构如下:
1
Select
Case
testexpression
2
[
Case
expressionlist-n
3
[statements-n]] . . .
4
[
Case
Else
expressionlist-n
5
[elsestatements-n]]
6
End
Select
主要参数:
- testexpression:任意数值或字符串表达式。
- statements:当testexpression与expressionlist-n中的任意部分匹配时,执行的一条或多条语句。
Select Case结构提供了If...Then...ElseIf结构的另一个变通形式,功能与If...Then...ElseIf类似,但可以使代码更加简练易读,它与Case语句关联使用。
1
Dim
value : value = 5
'多条语句在一行,需用冒号分开
2
Select
Case
value
3
Case
0:
4
MsgBox(0)
5
Case
1:
6
MsgBox(9999)
7
Case
Else
8
MsgBox(
"输入不合法!"
)
9
End
Select
8. 循环语句
VBScript中可以使用以下循环语句:
- Do...Loop语句
- While...Wend语句
- For...Next语句
- For Each...Next语句
8.1. Do…Loop语句
当(或直到)条件为True时循环,语法结构如下:
当条件为True时重复执行某语句块。
1
Do
[{
While
|
Until
} condition]
2
[statements]
3
[
Exit
Do
]
4
[statements]
5
Loop
当条件变为True之前重复执行某语句块。
1
Do
2
[statements]
3
[
Exit
Do
]
4
[statements]
5
Loop
[{
While
|
Until
} condition]
主要参数:
- condition:数值或字符串表达式,其值为True或False。如果condition为Null,则condition被当作False。
- statements:当condition为True时被重复执行的一条或多条命令。
Exit Do可以退出循环体,循环可以嵌套使用。
01
Do
Until
response = vbNo
02
myNum = Int(6 * Rnd + 1)
'产生1到6之间的随机数
03
response = MsgBox(myNum &
"想要另一个数吗?"
, vbYesNo)
04
Loop
05
06
Dim
check, counter
07
check =
True
: counter = 0
08
Do
09
Do
While
count < 20
10
counter = counter + 1
'增加计数器
11
If
counter = 10
Then
12
check = false
13
Exit
Do
'终止内循环
14
End
If
15
Loop
16
Loop
Until
Not
check
8.2. While…Wend语句
当条件为True时循环,语法结构如下:
1
While
condition
2
[statements]
3
Wend
主要参数:
- condition:数值或字符串表达式,其值为True或False。如果condition为Null,则condition被当作False。
- statements:当condition为True时被重复执行的一条或多条命令。
While…Wend没有Exit语句,从头一直循环到尾,若要在中途退出,则需用Do…Loop语句。
8.3. For…Next语句
指定循环次数,使用计数器重复运行语句,语法结构如下:
1
For
counter = start
To
end [
Step
step]
2
[statements]
3
[
Exit
For
]
4
[statements]
5
Next
主要参数:
- counter:用做循环计数器的数值变量。这个变量不能是数组元素或用户自定义类型的元素。
- start:counter的初值。
- end:counter的终值。
- step:counter的步长。如果没有指定,则step的默认值为1。
8.4. For Each…Next语句
对于集合中的每项或数组中的每个元素,重复执行一组语句,语法结构如下:
1
For
Each
element
In
group
2
[statements]
3
[
Exit
For
]
4
[statements]
5
Next
[element]
主要参数:
- element:用来枚举集合或数组中所有元素的变量。对于集合,element可能是Variant变量、通用Object变量或任意指定的Automation对象变量。对于数组,element只能是Variant变量。
- group:对象集合或数组的名称。
9. 过程
在VBScript中,过程被分为两类:Sub过程和Function过程。
9.1 Sub过程
语法结构如下:
1
[
Public
[
Default
] |
Private
]
Sub
name [(arglist)]
2
[statements]
3
[
Exit
Sub
]
4
[statements]
5
End
Sub
主要参数:
- Public:表示Sub过程可被所有脚本中的所有其他过程访问。
- Default:只与Class块中的Public关键字连用,用来表示Sub过程是类的默认方法。如果在类中指定了不止一个Default过程,就会出错。
- Private:表示Sub过程只可被声明该过程的脚本中的其他过程访问。
- name:Sub的名称,遵循标准变量命名规则。
- arglist:代表在调用时要传递给Sub过程的参数的变量列表。用逗号隔开多个变量。其语法为:[ByVal | ByRef] varname[()],ByVal表示该参数是按值传递的,ByRef表示该参数按引用传递,varname代表参数的变量名称。
如没有显式地指定使用Public或Private,则Sub过程默认为Public。调用Sub过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用Call语句,但如果使用了此语句,则必须将所有参数包含在括号之中。调用Sub过程的两种方式。一种使用Call语句;另一种则不使用。两种方式效果相同,如:Call MySub(a, b)或MySub a, b。
9.2 Function过程
语法结构如下:
1
[
Public
[
Default
]|
Private
]
Function
name [(arglist)]
2
[statements]
3
[name = expression]
4
[
Exit
Function
]
5
[statements]
6
[name = expression]
7
End
Function
主要参数:
- Public:表示Function过程可被所有脚本中的所有其他过程访问。
- Default:只与Class块中的Public关键字连用,用来表示Function过程是类的默认方法。如果在类中指定了不止一个Default过程,就会出错。
- Private:表示Function过程只可被声明该过程的脚本中的其他过程访问。
- name:Function的名称,遵循标准变量命名规则。
- arglist:代表在调用时要传递给Function过程的参数的变量列表。用逗号隔开多个变量。其语法为:[ByVal | ByRef] varname[()],ByVal表示该参数是按值传递的,ByRef表示该参数按引用传递,varname代表参数的变量名称。
如没有显式地指定使用Public或Private,则Function过程默认为Public。调用Function过程时,函数名必须用在变量赋值语句的右端或表达式中,如:b = MyFunction(a)。要从函数返回一个值,只需将值赋给函数名。在过程的任意位置都可以出现任意个这样的赋值。
9.3 Sub与Function的区别
- Sub没有返回值,而Function有返回值。
- Sub不能放在表达式中,而Function可以。
- QTP自动化测试之VBScript基础(下)
- QTP自动化测试之VBScript基础(下)
- QTP自动化测试之VBScript基础(下)
- QTP自动化测试之VBScript基础
- QTP自动化测试之VBScript基础
- QTP自动化测试之VBScript基础(上)
- QTP自动化测试之VBScript基础(上)
- QTP自动化测试之VBScript基础(上)
- QTP自动化测试之VBScript对象
- QTP自动化测试之VBScript对象
- QTP自动化测试关于VBScript基础链接(转)
- QTP自动化测试框架基础
- QTP 自动化测试 之 SelectValuefromList
- QTP自动化测试基础系列视频(完)
- 零基础QTP自动化测试培训大纲
- 【自动化测试技术QTP基础系列四】--如何学习QTP
- 【自动化测试技术QTP基础系列五】---自动化概述
- QTP-14 VBScript VBS基础
- Jmeter第一次尝试
- How to change debian desktop wallpaper
- [RK3288][Android6.0] Camera HAL ION 使用小结
- 2017年2月规划
- redis执行Lua脚本报"attempt to compare number with string"错误的解决方法
- QTP自动化测试之VBScript基础(下)
- 流量控制与令牌桶算法
- WordPress 无法使用the_content()方法输出内容
- python重载
- 自定义view的构造方法和样式主题
- html技巧总结
- pat-basic-1036-c语言
- Anaconda使用总结
- Qt::QList 转为 QVariant