软件测试工具TestComplete的Utilities对象使用方法
TestComplete除了提供BuiltIn对象来访问常用的函数外,还提供Utilities对象。该对象实现了Borland VCL的SysUtils的很多功能。SysUtils中的很多函数编程了Utilites的方法,而变量则变成了Utilites的属性。
SysUtils单元包含很多函数用于文件操作、数值与字符串之间的转换,处理字符串的不同方式等。TC只支持使用OLE兼容类型的函数或方法(那些使用指针作为参数或返回值,使用引用参数作为返回值的除外)。
调用Utilities对象的方法时,可以使用或不使用Utilities对象名称,例如下面两行代码是等效的:
d := Utilities.StrToDateTime(’5/01/2003’);
d := StrToDateTime(’5/01/2003’);
但是,如果忽略Utilities对象名称的话可能导致名称识别冲突,例如,Win32API中也有Beep函数,所以,如果在JScript中直接使用Beep则会报错。解决办法是把对象名称加在前面,例如:Utilities.Beep 或 Win32API.Beep(...).
下面介绍常用的Utilities属性和方法。
Utilities的属性
Utilities对象包含以下各类属性:
1、 Currency类,例如:CurrencyDecimals、CurrencyString、CurrencyFormat等
2、 日期时间类,例如:LongDataFormat、ShortDateFormat、LongTimeFormat、ShortTimeFormat、SecsPerDay、MsecsPerDay等
3、 操作系统属性类,例如:Win32BuildNumber、Win32CSDVersion、Win32MajorVersion、Win32MinorVersion、Win32Platform可返回操作系统的平台类型、版本号、SP信息等
Utilities的方法
1、 文件操作类,例如:FileCreate、FileExists、FileGetAttr、FileSetAttr、FileGetDate、FileSetDate、FileAge、FileDateToDateTime、DeleteFile、FileSearch、FindFirst、FindNext、FindClose等
2、 目录操作类,例如:DirectoryExists、GetCurrentDir、CreateDir、ForceDirectories、RemoveDir、RenameFile、ExtractFileName、ExtractFileExt、ExtractFileDir、ExtractFilePath、ExtractFileDrive、ExtractRelativePath、ExtractShortPathName
3、 字符串比较类,例如:CompareStr、CompareText、SameText、StrLComp、StrLIComp、AnsiCompareStr、AnsiCompareText、AnsiSameText、AnsiCompareFileName
4、 字符串大小字母转换类,例如:LowerCase、UpperCase、AnsiLowerCase、AnsiUpperCase、AnsiLowerCaseFileName、AnsiUpperCaseFileName
5、 字符串查找类:AnsiLastChar、AnsiStrScan、AnsiStrRScan
6、 字符串替换类:StringReplace、QuotedStr、AnsiQuotedStr、AnsiExtractQuotedStr、Trim、TrimRight、TrimLeft [Page]
7、 字符串类型与数值类型之间的转换:CurrToStr、CurrToStrF、FloatToStrF、FloatToStr、FormatFloat、IntToStr、StrToInt、StrToIntDef、IntToHex
8、 日期时间操作类:Date、Now、Time、DayOfWeek、StrToDate、StrToTime、EncodeDate、DecodeDate、ReplaceDate、ReplaceTime、IncMonth、EncodeTime、DecodeTime
为了不要自己重新发明轮子,多熟悉TC的Utilities对象提供的属性和方法,会让我们在测试脚本编写时更加敏捷。