uft怎么做app⾃动化测试_UFT⾃动化测试实施-VBS编程简要
教程
VBS⾃动化编程
UFT采⽤VBScript作为脚本开发语⾔,能够设计强⼤、灵活的⾃动化测试脚本。熟练掌握VBScript语⾔是做好UFT⾃动测试的关键。使⽤UFT实施本次OA系统⾃动化测试前,先介绍下UFT编程时常⽤的VBScript语法,更多知识读者可参考微软官⽅⽂档。
VBScript简介
VBScript是微软开发的⼀种脚本语⾔,全称Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBScript是Visual Basic的的⼀个抽象⼦集,⽤它编写的脚本代码不能编译成⼆进制⽂件,直接由Windows系统执⾏(实际是⼀个叫做宿主HOST的解释源代码并执⾏),⾼效、易学,⼤部分⾼级语⾔能⼲的事情,它基本上都具备,它可以使各种各样的任务⾃动化,可以使你从重复琐碎的⼯作中解脱出来,极⼤的提⾼⼯作效率。
⽬前很多⾃动化测试⼯具为⽤户提供的测试脚本编程语⾔都是所谓的“⼚商语⾔”,即对某种编程语⾔的有限实现,或经过改造的编程语⾔的⼦集,这些语⾔会有很多⽅⾯的限制。⽽UFT基本完全使⽤了VBSc
ript。编写⼀个⾃动化测试脚本基本由VBScript⽀持的函数库和UFT ⾃带对象和函数库组成。因此,想写出好的脚本,必须熟悉VBScript和UFT相关的函数库。
VBScript基础
本节介绍的VBScript编程全部以案例介绍,不对具体语⾔做深⼊解析。常量定义
Const MyVar = 123 ' 常数默认为公共变量。
Private Const MyString = "erbao" ' 定义私有常数。
Const MyStr = "hello,uft", MyNumber = 1 '在⼀⾏上定义多个常数。变量定义
声明变量的⼀种⽅式是使⽤Dim、Public语句和Private语句在脚本中显式声明变量。例如:
Dim username
声明多个变量时,使⽤逗号分隔变量。例如:
Dim Top, Bottom, Left, Right
另⼀种⽅式是直接在脚本中使⽤变量名,隐式声明,但这不是⼀个好的编程习惯,这样有时会由于变量名被拼错⽽导致在运⾏脚本时出现意外的结果,如“ExceptValue”误写成“ExpectValue”。因此,最好使⽤Option Explicit语句显式声明所有变量,如果变量未定义就使⽤,则会提⽰“变量未定义”错误,每次编写脚本时在第⼀⾏加⼊“Option Explicit”。
Option Explicit
Dim username,password
创建如下形式的表达式给变量赋值:变量在表达式左边,要赋的值在表达式右边。例如:
B = 200数组变量定义
数组变量声明:
Dim A(10)
“10”表⽰定了包含10个元素的数组,但每个元素的下标从0开始,即A(10)数组包括A(0)、A(1)、 A(2)、 A(3)、 A(4)、 A(5)、
A(6)、 A(7)、 A(8)、 A(9)共计10个元素。
数组变量赋值:
在数组中使⽤索引为数组的每个元素赋值,从0到9,如果写A(10)则会超过数组边界。如下所⽰:
A(0) = 12
A(1) = 324
A(2) = 100
. . .
A(9) = 55数据类型
VBScript只有⼀种数据类型,称为Variant。Variant是⼀种特殊的数据类型,根据使⽤的⽅式,可以包含不同类别的信息。因为Variant是VBScript中唯⼀的数据类型,所以它也是VBScript中所有函数的返回值数据类型。
最简单的Variant可以包含数字或字符串信息。Variant⽤于数字上下⽂中时作为数字处理,⽤于字符串上下⽂中时作为字符串处理。这就是说,如果使⽤看起来象是数字的数据,则VBScript会假定其为数
字并以适⽤于数字的⽅式处理。与此类似,如果使⽤的数据只可能是字符串,则VBScript将按字符串处理,也可以将数字包含在引号 (" ") 中使其成为字符串。
除简单数字或字符串以外,Variant可以进⼀步区分数值信息的特定含义。例如使⽤数值信息表⽰⽇期或时间。此类数据在与其他⽇期或时间数据⼀起使⽤时,结果也总是表⽰为⽇期或时间。从Boolean值到浮点数,数值信息是多种多样的。Variant包含的数值信息类型称为⼦类型。⼤多数情况下,可将所需的数据放进Variant中,⽽Variant也会按照最适⽤于其包含的数据的⽅式进⾏操作。
下表显⽰Variant包含的数据⼦类型:
表7- 1 VBScript数据类型
⼦类型
描述
Empty
未初始化的Variant。对于数值变量,值为0;对于字符串变量,值为零长度字符串 ("")。
Null
不包含任何有效数据的Variant。
Boolean
包含True或False。
Byte
包含 0 到 255 之间的整数。
Integer
包含 -32,768 到 32,767 之间的整数。
Currency
-922,337,203,685,477.5808 到 922,337,203,685,477.5807。
Long
包含 -2,147,483,648 到 2,147,483,647 之间的整数。
Single
包含单精度浮点数,负数范围从 -3.402823E38 到 -1.401298E-45,正数范围从 1.401298E-45 到 3.402823E38。
Double
包含双精度浮点数,负数范围从 -1.79769313486232E308 到 -4.94065645841247E-324,正数范围从
4.94065645841247E-324 到 1.79769313486232E308。
Date (Time)
包含表⽰⽇期的数字,⽇期范围从公元 100 年 1 ⽉ 1 ⽇到公元 9999 年 12 ⽉ 31 ⽇。
包含变长字符串,最⼤长度可为 20 亿个字符。
Object
包含对象。
Error
包含错误号。
可以使⽤转换函数来转换数据的⼦类型。另外,可使⽤VarType函数返回数据的Variant⼦类型。VBScript运算符
VBScrit也同样存在各种运算符:算数运算符、⽐较运算符、连接运算符和逻辑运算符。这⾥仅列出常⽤的运算符。算数运算符表7- 2 VBScript算数运算符
描述
符号
负号
-
乘
*
除
/
加
+
减
-
字符串连接
&⽐较运算符
表7- 3 VBScript⽐较运算符
描述
符号
等于
=
不等于
<>
⼩于
<
⼤于
>
<=
⼤于等于
>=
对象引⽤⽐较
Is逻辑运算符
表7- 4 VBScript逻辑运算符
描述
符号
逻辑⾮
Not
逻辑与
And
逻辑或
Or运算符优先级
在⼀个表达式中进⾏多个运算时,每⼀部分都会按预先确定的顺序进⾏计算求解,这个顺序被称为运算符优先级。括号可改变优先级的顺序,强制优先处理表达式的某部分。括号内的操作总是⽐括号外的操作先被执⾏。但是在括号内,仍保持正常的运算符优先级。
当表达式有多种运算符时,先处理算术运算符,接着处理⽐较运算符,然后再处理逻辑运算符。所有⽐较运算符有相同的优先级,即按它们出现的顺序从左到右进⾏处理。算术运算符和逻辑运算符按下列优先级进⾏处理:
表7- 5 VBScript运算符优先级
算术
⽐较
逻辑
指数运算 (^)
相等 (=)
Not
负数 (-)
不等 (<>)
And
乘法和除法 (*, /)
⼩于 (
Or
整除 (\)
⼤于 (>)
Xor
求余运算 (Mod)
⼩于或等于 (<=)
Eqv
加法和减法 (+, -)
⼤于或等于 (>=)
Imp
字符串连接 (&)
Is
&
当乘法和除法同时出现在表达式中时,按照从左到右出现的顺序处理每个运算符。同样,当加法和减法同时出现在表达式中时,也按照从左到右出现的顺序处理每个运算符。
字符串连接运算符(&)不是算术运算符,但是就其优先级⽽⾔,它在所有算术运算符之后,⽽在所有⽐较运算符之前。Is运算符是对象引⽤的⽐较运算符,它并不⽐较对象或对象的值,⽽只判断两个对象引⽤是否引⽤了相同的对象。
数据类型转换ASC函数
Dim MyNumber
MyNumber = Asc("A") '返回 65。
MyNumber = Asc("a") '返回 97。
MyNumber = Asc("Apple") '返回 65。Chr函数
Dim MyChar
MyChar = Chr(65) '返回 A。
vbs基本教程MyChar = Chr(97) '返回 a。
MyChar = Chr(62) '返回 >。
MyChar = Chr(37) '返回 %。CBool函数
Dim A, B, Check
A = 5:
B = 5 ' 初始化变量。
Check = CBool(A = B) ' 复选框设为 True 。
A = 0 ' 定义变量。
Check = CBool(A) ' 复选框设为 False 。CInt函数
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble 是 Double。
MyInt = CInt(MyDouble) ' MyInt 包含 2346。
输⼊输出函数Msgbox输出函数
Dim MyVar
MyVar = MsgBox ("Hello World!", 65, "MsgBox Example")
' MyVar 包含 1 或 2,这取决于单击的是哪个按钮。InputBox输⼊函数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论