QTP自动化测试之VBScript基础(上)
来源:互联网 发布:人工智能 编程语言 编辑:程序博客网 时间:2024/05/16 05:33
要想使用QTP进行自动化测试,必须了解VBScript这门语言,对于使用过ASP或VB开发的人来说,VBScript已经再熟悉不过了,但是没有接触过VBScript的同学也不要灰心,因为这门语言简单易学。
1. VBScript利器
2. Hello World
3. 数据类型
4. 变量
5. 常数
6. 运算符
1. VBScript利器
子曰:工欲善其事,必先利其器。学习一门语言自然是离不开工具及文档,有好的工具及文档在手,学习起来也会得心应手。在此,我推荐大家一个很不错的编辑工具——VbsEdit,该工具既能编辑代码,又可调试代码,有不错的智能提示,还有很多示例代码。可惜不是免费使用,不过网上已经有绿色版,您可以搜索下载。若你已经安装了QTP,那么使用QTP工具也是一个不错的选择。参考文档可以使用在线版《Microsoft Windows脚本技术》,也可以从网上搜索下载CHM文件。
2. Hello World
每种语言的入门都是一样,从简单的Hello World开始,我们也不例外。如何使用VBScript来弹出一个对话框显示Hello World问候语呢?很简单,代码如下:
1
MsgBox(
"Hello world!"
)
2
MsgBox
"Hello world!"
3
result = MsgBox(
"Hello World!"
, vbOKOnly,
"Greeting"
)
4
MsgBox
"Hello World!"
, vbOKOnly,
"Greeting"
既然在此出现的第一个函数是MsgBox,那么就简单介绍一下该函数,其签名如下:
1
MsgBox(prompt[, buttons][, title][, helpfile, context])
主要参数:
- prompt:为要显示的消息,其他带[]参数为可选参数;
- buttons:为显示对话框按钮及类型,默认值为0,即只显示“确定”按钮;
- title:为对话框标题栏文字。
MsgBox函数也有返回值,当你点击确定或取消按钮时,其返回的值是不一样的。其他详细内容,大家可以去查阅参考文档,这里就不逐一说明。
3. 数据类型
VBScript只有一种数据类型——Variant,它是根据上下文来判断是数字还是字符串。因为Variant是VBScript中唯一的数据类型,所以它也是VBScript中所有函数的返回值的数据类型。为了进一步区分数据类型,它包含如下数据子类型:
您可以使用转换函数(CInt,CStr等等)来转换数据的子类型。另外,可使用VarType函数返回数据的Variant子类型。
4. 变量
4.1. 变量声明
变量声明有两种方式——显式与隐式,显式使用Dim、Public、Private语句进行声明,隐式直接使用变量名。使用隐式声明方式的习惯不好,因为这样有时会由于变量名拼错而导致程序运行出现意外,因此,最好在每个脚本开始第一行使用Option Explicit语句强制显式声明所有变量。声明示例如下:
1
Option
Explicit
2
Dim
i, conn
'声明多个变量时用逗号隔开
3
Public
UserName, Password
4
Private
m_id
注意:在VBScript中,变量名是不区分大小写,即userName与UserName是指同一个变量。
4.2. 命名规则
VBScript中变量命名是有其规则标准的,变量命名必须遵循:
- 第一个字符必须是字母。
- 不能包含嵌入的句点。
- 长度不能超过255个字符。
- 在被声明的作用域内必须唯一。
4.3. 作用域与存活期
变量的作用域由声明它的位置所决定。如果在过程中声明的,则只有该过程可以使用,即过程级变量;如果在过程之外声明的,则该变量可以被脚本中所有过程所使用,即Script级变量。
变量所存在的时间为存活期。Script级变量的存活期为从被声明开始,直到脚本运行结束为止;过程级变量的存活期仅是过程被调用执行开始到结束的时间。不同的过程可以使用相同的变量名,因为局部变量只有声明它的过程才能识别。
4.4. 变量赋值
给变量赋值很简单,使用等号进行赋值,等号左边为变量名,右边为变量值。若该变量是对象引用级别的,则需使用Set语句。示例代码如下:
1
Dim
i, conn, ui
2
i = 0
3
Set
conn = CreateObject(
"ADODB.Connection"
)
4
Set
ui =
New
UserInfo
4.5. 标量与数组
只包含一个值的变量成为标量变量;有时候为了方便将一组相关值赋给一个变量,则成为数组变量。区别标量与数组的唯一方式是声明时数组变量名后面带有括号()。变量声明就不说了,前面已经提到,这里我们看看怎样声明一维数组及多维数组(最大60维——:)只要您能够理解)。
1
Dim
a(9), table(2, 3)
2
a(0) = 1
3
...
4
a(9) = 11
5
MsgBox(a(1))
'输出数组变量值
6
7
table(0, 0) = 1
8
...
9
table(2, 3) = 10
我们也可以声明动态数组(在运行脚本时大小发生变化的数组),使用Dim或ReDim语句,但括号中不包含任何数字。要使用动态数组,必须随后使用ReDim确定维数和每一维的大小。若同时使用Preserve关键字,则在重新调整大小时保留数组的内容。
1
Dim
count, a()
2
count = 9
3
ReDim
a(count)
4
ReDim
Preserve
a(10)
5. 常数
常数在VBScript中是表示不变的值,用于代替数字或字符串。其内部定义了许多常数,都是以vb开头,例如在Hello World程序中涉及到的MsgBox常数“vbOKOnly”。除了MsgBox常数外,还有颜色常数、比较常数、日期和时间常数等等,详见参考文档。
内部自带常数,我们可以直接使用。当自带常数不能满足我们的需求时,我们也可以自定义常数,在VBScript中是使用Const语句来定义常数,该语句的签名如下:
1
[
Public
|
Private
]
Const
constname = expression
主要参数:
- constname:为常数名称,为了区分常数与变量,最好有一套自己的命名规则,这里推荐字母全大写,单词间用下划线分割;
- expression:文字或其他常数,或包括除 Is 外的所有算术运算符和逻辑运算符的任意组合。
常数默认是Public级别,您也可以指定为Private级别,在同一行中声明多个常数需要用逗号分割,常数声明中不能使用变量、自定义函数及内部函数。下面是常数的一些示例代码:
1
Const
PI = 3.14
'常数默认为公有。
2
Private
Const
STEP_APPLY =
"Apply"
'定义私有常数。
3
Const
STEP_APPLY =
"Apply"
, PI = 3.14
'在一行上定义多个常数。
6. 运算符
VBScript有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。当表达式中含有多个运算符时,它们的运算优先级是:算术运算符 > 比较运算符 > 逻辑运算符。所有比较运算符的优先级相同,算术运算符和逻辑运算符的优先级如下所示:
6.1. 算术运算符
字符串连接 (&) 运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。
6.2. 逻辑运算符
6.3. 比较运算符
Is 运算符是对象引用比较运算符。它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对象。
- 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基础
- QTP自动化测试之VBScript对象
- HDOJ 2037 今年暑假不AC 【暴力解决】⊙﹏⊙b汗
- QTP自动化测试之VBScript基础(下)
- 描述C#多线程中 lock关键字
- 用动态规划求如下解0/1 背包问题 (第八题)
- QTP自动化测试之VBScript基础(上)
- iphone开发,请求url参数带中文的问题
- vim批量替换
- Selenium2.0 WebDriver入门指南
- C++例题
- sql语名查询"今天","昨天","本周","本月"数据方法!
- 几种提高javascript载入速度的方式
- c#通过Windows API 判断网络是否连接
- XCODE4如何导入静态库