您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 实验四-QTP-VB基础、Funciton-Library
AutomaticTest《软件测试工具》SEIofECNU版权所有©1-2内容提要VBScript语言相关的基本知识变量常数运算符条件语句循环语句过程FunctionLibrary《软件测试工具》SEIofECNU版权所有©1-31、VBScript基础VBScript是VisualBasic的一个安全子集,具有变量无关、解释执行的特点QTP的测试脚本语言采用的是VBScript5.6版本的VBScript专家视图就是一个VBScript脚本编辑器VBScript的绝大多数函数和对象都可以在QTP中直接使用《软件测试工具》SEIofECNU版权所有©1-4VBScript的数据类型VBScript只有一种数据类型Variant,根据使用的方式,它可以包含不同类别的信息。因为Variant是VBScript中唯一的数据类型,所以它也是VBScript中所有函数的返回值的数据类型。变量声明•使用Dim语句显示声明变量,例如–DimvarTop,varBottom,varLeft,varRight•隐式声明变量–不预先声明,在脚本中直接使用变量名–不符合编码规范,不提倡《软件测试工具》SEIofECNU版权所有©1-5Variant的子类型Empty未初始化的Variant。对于数值变量,值为0;对于字符串变量,值为零长度字符串()Null不包含任何有效数据的VariantBoolean布尔变量,包含True或FalseByte包含0到255之间的整数Integer包含-32,768到32,767之间的整数Currency-922,337,203,685,477.5808到922,337,203,685,477.5807Long包含-2,147,483,648到2,147,483,647之间的整数。《软件测试工具》SEIofECNU版权所有©1-6Variant的子类型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日。String包含变长字符串,最大长度可为20亿个字符。Object包含对象。Error包含错误号。《软件测试工具》SEIofECNU版权所有©1-7VBScript的类型转换使用转换函数来转换数据的子类型。Asc函数CBool函数CByte函数CCur函数CDate函数CDbl函数Chr函数CInt函数CLng函数CSng函数CStr函数Hex函数Oct函数《软件测试工具》SEIofECNU版权所有©1-8VBScript的类型转换使用VarType函数返回数据的Variant子类型。《软件测试工具》SEIofECNU版权所有©1-9VBScript的变量命名规则Mustbeginwithanalphabeticcharacter.Cannotcontainanembeddedperiod.Mustnotexceed255characters.Mustbeuniqueinthescopeinwhichitisdeclared.作用域Procedurelevel•declareavariablewithinaprocedureScriptlevel•declareavariableoutsideaprocedure《软件测试工具》SEIofECNU版权所有©1-10VBScript的变量《软件测试工具》SEIofECNU版权所有©1-11VBScript的数组定义固定长度的数组DimarrNum(5)定义非确定大小数组RedimDimarrNum()DimnumNum=input(“输入数组大小:”)RedimarrNum(num)可以使用UBound函数获取数组的大小《软件测试工具》SEIofECNU版权所有©1-12VBScript的常数用户自定义常数使用Const语句•字符串常量:ConstconStr=“这是一个字符串常量”•数字常量:ConstconNum=10•日期和时间:ConstconDate=#11-13-08#VBScript定义的内部常数《软件测试工具》SEIofECNU版权所有©1-13VBScript的运算符支持的运算符算术运算符比较运算符连接运算符逻辑运算符《软件测试工具》SEIofECNU版权所有©1-14VBScript运算符优先级规则(可以使用括号改变优先级)当表达式有多种运算符时,先处理算术运算符,接着处理比较运算符,然后再处理逻辑运算符。所有比较运算符有相同的优先级,即按它们出现的顺序从左到右进行处理。算术运算符和逻辑运算符按下列优先级进行处理:《软件测试工具》SEIofECNU版权所有©1-15VBScript的条件语句支持两种条件语句If…Then…Else•EndIf•If语句可以嵌套SelectCase(ifthenelseif)•SelectCase结构只计算开始处的一个表达式(只计算一次),而If...Then...ElseIf结构计算每个ElseIf语句的表达式,这些表达式可以各不相同。仅当每个ElseIf语句计算的表达式都相同时,才可以使用SelectCase结构代替If...Then...ElseIf结构。在QTP中可以通过InsertConditionalStatement插入条件语句《软件测试工具》SEIofECNU版权所有©1-16VBScript的循环语句支持四类循环语句Do...Loop•当(或直到)条件为True时循环。–DoWhile:当条件为True时重复执行语句–DoUtil:重复执行语句直到条件变为True–ExitDo:退出Do循环(一般放在if..then..else之后使用)While...Wend•当条件为True时循环。For...Next•指定循环次数,使用计数器重复运行语句。•Step指定步长•ExitFor:退出For循环(一般放在if..then..else之后使用)ForEach...Next(在不知道集合中元素的数目时非常有用)•对于集合中的每项或数组中的每个元素,重复执行一组语句在QTP中可以通过InsertLoopStatement插入循环语句《软件测试工具》SEIofECNU版权所有©1-17DoWhile循环示例SubChkFirstWhile()Dimcounter,myNumcounter=0myNum=20DoWhilemyNum10myNum=myNum-1counter=counter+1LoopMsgBox循环重复了&counter&次。EndSubSubChkLastWhile()Dimcounter,myNumcounter=0myNum=9DomyNum=myNum-1counter=counter+1LoopWhilemyNum10MsgBox循环重复了&counter&次。EndSub《软件测试工具》SEIofECNU版权所有©1-18DoUntil循环示例SubChkFirstUntil()Dimcounter,myNumcounter=0myNum=20DoUntilmyNum=10myNum=myNum-1counter=counter+1LoopMsgBox循环重复了&counter&次。EndSubSubChkLastUntil()Dimcounter,myNumcounter=0myNum=1DomyNum=myNum+1counter=counter+1LoopUntilmyNum=10MsgBox循环重复了&counter&次。EndSub《软件测试工具》SEIofECNU版权所有©1-19ExitDo示例SubExitExample()Dimcounter,myNumcounter=0myNum=9DoUntilmyNum=10myNum=myNum-1counter=counter+1IfmyNum10ThenExitDoLoopMsgBox循环重复了&counter&次。EndSub《软件测试工具》SEIofECNU版权所有©1-20For..Next循环示例SubNewTotal()DimmyNum,totalFormyNum=16To2Step-2total=total+myNumNextMsgBox总和为&total&。EndSub《软件测试工具》SEIofECNU版权所有©1-21VBScript的过程支持两种过程Sub•不能有返回值•在调用时,可以使用Call语句,也可以使用直接输入过程名及参数的方式,使用Call方式时需将输入参数用括号括起Function•可以有返回值,返回值是通过给Function名赋值传递(不是通过Return)•在调用时,直接输入过程名及参数《软件测试工具》SEIofECNU版权所有©1-22Sub和Function示例SubConvertTemp()temp=InputBox(请输入华氏温度。,1)MsgBox温度为&Celsius(temp)&摄氏度。EndSubFunctionCelsius(fDegrees)Celsius=(fDegrees-32)*5/9EndFunction‘调用名为ConvertTemp过程ConvertTempSubAdd100(number)tmpN=number+100MsgBoxtmpNEndSub‘调用Add10020CallAdd100(20)《软件测试工具》SEIofECNU版权所有©1-23练习1VB编程1、开发tomDate函数,利用VBScript的日期函数,处理QTP订票脚本中的设置订票日期问题,将Dateofflight的取值设置为明天Date:返回当前系统日期DateAdd:返回已添加指定时间间隔的日期DatePart:返回给定日期的指定部分Right:从字符串右边返回指定数目的字符注意:(1)日期可以进行加减操作•eg:Date+1得到的当前系统的“明天”的日期(2)订票系统订票日期至少为当前系统日期的随后一天2、用vbs编程判断系统计算的机票总额是否正确3、ExtentQTPUsage*利用QTP的功能,获取所有开奖号码并绘制号码分布图《软件测试工具》SEIofECNU版权所有©1-242、FunctionLibraryIfyouhavesegmentsofcodethatyouneedtouseseveraltimesinyourtests,youmaywanttocreateauser-definedfunction.UsingQuickTest,youcandefineandstoreyouruser-definedfunctionseitherinafunctionlibrary(savedasa.qflfile,bydefault)ordirectlyinanactionwithinatest.AfunctionlibraryisaVisualBasicscriptcontainingVBscriptfunctions,subroutines,modules,andsoforth.YoucanalsouseQuickTesttomodifyanddebuganyexistingfunctionlibraries(suchas.vbsor.txtfiles).Whenyoustoreafunctioninafunctionlibraryandassociatethefunctionlibrarywithatest,thetestcancallthepublicfun
本文标题:实验四-QTP-VB基础、Funciton-Library
链接地址:https://www.777doc.com/doc-3213948 .html