QTP学习记录(QTP PLUS等内容)___20100316
上一篇 / 下一篇 2010-03-16 18:02:06 / 个人分类:QTP学习历程
有好几天没有更新自己的学习小结了.今天把最近几天的收获记录如下:
1、QTP Code Sample plus(转)
1)在网上看到这资料的时候,我还不知道原来plus有这么多的好处。自己按照找到资料试了下,使用TXT文件编辑扩展名为MST的文件ACTION的模板放到QTP安装目录的DAT下,然后重启QTP。每一次新建ACTION的时候都会自动将所编辑的ACTION TEMPLATE加载到对应的ACTION中。对于这一点,我觉得非常的有用,因为如果当我们所测的系统比较庞大的时候,我也比较喜欢在维护脚本中的过程中增加更多的注释(呵呵,可能是上学的时候养成记笔记的习惯),这样的好处是利于自己在温习和别人看的时候也一目了然。确实是一个不错的东东。
2)关于通过设置测试报告里只显示error的信息。帮助中说:修改安装目录下bin\QTReport.ini文件,增加以下内容:
[FilterDialog]
ReportAppDefaultFilter=1 # for error only
ReportAppDefaultFilter=3 # shows all messages (default)
我个人不太赞成这种修改方式,因为修改之后测试报告中只在ACTION前面有对应的标识失败,并不会像修改前一样将相关详细记录和信息罗列出来。所以不太喜欢这样的修改方式,我将bin\QTReport.ini文件修改后我又改回系统默认的。
3)Function Libraries
关于QTP PLUS带的这一些FUNCTION LIBRARIES,确实是非常有用的,虽然目前我还处于初级阶段,但看到这些FUNCTION,留着以后肯定也是有用的。呵呵。
Plus的帮助中提供了一些常用的Function,把这些function copy到文本编辑器中保存为.vbs文件,并添加到Resources中就可以直接调用了,或直接copy到你的action中,就可以在当前的action中调用。更推荐第一种方法,所有的action都可以调用。
A)文件操作相关的function,如下,望名则可生意:
Function CreateFile(sFilename, bOverwrite);
Function OpenFile(sFilename, iomode, create);
Function AppendToFile(sFilename, sLine);
Function WriteToFile(sFilename, sLine);
B)Function NormalizeString(OrgStr); (将字符串变成regular express)
C)GlobalDictionary的使用,这是另外一种可以共享全局变量的方法,在所有的action中,包括local和external action中都可以访问。
D)使用文件系统相关的function:
Function ReadLineFromFile (byref FileRef);
Sub FileDelete ( FilePath);
Function FileCompare (byref FilePath1, byref FilePath2, byref FilePathDiff, ignoreWhiteSpace);
Function CheckFileExists (FilePath)
E)webtable相关的function:
Function ItemByKeyColumn():根据table中某列的值,得到同一行中另一列的对象。(这个功能非常有用。)
Function ObjectsByMicClass(Obj, micClass):得到table中所有的micClass类型的对象集合。
4)关于以下这一段转的内容,我没有试过,但先放着,我相信一定会有用。
A)、Automation Generator Utility
添加一系列动作,然后自动完成。如:启动QTP,然后执行test1, test2, test3...,最后关闭QTP,还可以连接或断开Quality center.
值得注意的是,每个test都可以分别指定test result文件,这样可以把所有test result指定到同一个目录下,所有test执行完成后,用Test Result Viewer就可以快速的查看测试报告。
B)、External Action Call Modifier Utility
外部Action调用修改工具。当删除一个Reusable action前,如果没有先删除其他test中对它的调用,则打开其他test时,会提示找不到某某action,这种情况下启用该工具,工具会列出test下所有调用的外部action(如果调用的action是使用相对路径,则不会列出来),如果外部action找不到,会用红色的问号表示,删除它并保存后就OK了。
也可以在此处修改外部action的来源,修改后原来的action parameter仍会保留。
C)Repository Merge Utility
合并多个对象库文件中的对象,如果出现冲突,可以选择忽略,或手工合并,或自动合并。 对象库文件是Action目录下的Resource.mtr文件。
D)Report Analyzer
Test Result的另一个查看工具,提供了一些过滤条件,比如只查看failed step,或只查看checkpoints,或只查看某个action。
DataTable.Value(ParameterID[,SheetID])
or
DataTable(ParameterID[,SheetID])
To set the value:
DataTable.Value(ParameterID[,SheetID])=NewValue
or
DataTable(ParameterID[, SheetID])=NewValue
3)DataTable的GetCurrentRow方法.取DataTable的当前列。
PS:在今天的实践过程中我是想取DataTable中第一行第一列的值,结果我使用了DataTable的GetCurrenRow方法,怎么也取不到对应的值,后来再发现自己用错了,应该是使用DataTable的属性Value
3、参数化密码(转)。
当我们对密码进行参数化的时候,可以直接在DataTable中写明文,使用SetSecure方法,而不需要使用Set方法,就可以了。通过实践确实如此。
webedit("txtpass").setsecure"sdsdf...."
如果参数化密码,可以直接在数据表中写入未加密的密码,它会自动识别,即不用把setsecure改为set。
4、防程序中断方法.前不久看到同事在脚本的开头就加了“On error resume next"语句,当时觉得纳闷,看着即不像注释,不知道是什么,今天终于原来是防程序中断方法。其意思是该语句开始,遇到错误时程序不会中止,也不会出现错误提示,将继续运行。作用范围直至程序结束或语句所在函数等结束。我想这个在我们的自动化测试过程中应该是非常有用的一个东东。
On error resume next
On error go to handle
5、关于"IS..."的Function.(QTP Help)
1) IsArray 判断是否是数组,相关例子如下:
Dim MyVariable
Dim MyArray(3)
MyArray(0) = "Sunday"
MyArray(1) = "Monday"
MyArray(2) = "Tuesday"
MyVariable =IsArray(
MyArray)
' MyVariable contains "True".
2)Iscoonected 判断QTP是否连接到QC。(PS:由于HELP中的代码太多,不贴此处,另外也还需要自己好好消化)
3)IsDate 判断是否是合法的日期类型。相关例子如下:
Dim MyDate, YourDate, NoDate, MyCheck MyDate = "October 19, 1962": YourDate = #10/19/62#: NoDate = "Hello" MyCheck =IsDate(
MyDate)
' Returns True. MyCheck =IsDate(
YourDate)
' Returns True. MyCheck =IsDate(
NoDate)
' Returns False.
4)IsEmpty判断是否初始化。相关例子如下:
Dim MyVar, MyCheck MyCheck =IsEmpty(
MyVar)
' Returns True. MyVar = Null ' Assign Null. MyCheck =IsEmpty(
MyVar)
' Returns False. MyVar = Empty ' Assign Empty. MyCheck =IsEmpty(
MyVar)
' Returns True.5)IsNull判断是否为空值。相关例子如下:Dim MyVar, MyCheck MyCheck =IsNull(
MyVar)
' Returns False. MyVar = Null ' Assign Null. MyCheck =IsNull(
MyVar)
' Returns True. MyVar = Empty ' Assign Empty. MyCheck =IsNull(
MyVar)
' Returns False
6)IsNumeric判断是否是数字值。相关例子如下:
Dim MyVar, MyCheck MyVar = 53 ' Assign a value. MyCheck =IsNumeric(
MyVar)
' Returns True. MyVar = "459.95" ' Assign a value. MyCheck =IsNumeric(
MyVar)
' Returns True. MyVar = "45 Help" ' Assign a value. MyCheck =IsNumeric(
MyVar)
' Returns False.
7)IsObject判断是否是一个功能对象。相关例子如下:
Dim MyInt, MyCheck, MyObject Set MyObject = Me MyCheck =IsObject(
MyObject)
' Returns True. MyCheck =IsObject(
MyInt)
' Returns False.8)IsReady 判断设备是否准备就绪。使用VBScript实现如下:
Function ShowDriveInfo(drvpath)
Dim fso, d, s, t
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetDrive(drvpath)
Select Case d.DriveType
Case 0: t = "Unknown"
Case 1: t = "Removable"
Case 2: t = "Fixed"
Case 3: t = "Network"
Case 4: t = "CD-ROM"
Case 5: t = "RAM Disk"
End Select
s = "Drive " & d.DriveLetter & ": - " & t
Ifd.IsReady
Then
s = s & "<BR>" & "Drive is Ready."
Else
s = s & "<BR>" & "Drive is not Ready."
End If
ShowDriveInfo = s
End Function
9)IsRootFolder 判断是否是根目录。相关例子如下:
[VBScript]Function DisplayLevelDepth(pathspec)
Dim fso, f, n
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(pathspec)
If f.IsRootFolder Then
DisplayLevelDepth = "The specified folder is the root folder."
Else
Do Untilf.IsRootFolder
Set f = f.ParentFolder
n = n + 1
Loop
DisplayLevelDepth = "The specified folder is nested " & n & " levels deep."
End If
End Function
10)ISRunning 判断打开的测试中业务组件当前是否是运行状态
Description
Indicates whether the open test or business component is currently running.
Syntax
object.IsRunning
Argument | Description |
object | An expression evaluating to an object of typeTest. |
Value Type
Read-only.A Boolean value.
Possible Values
- True--The test or component is running.
- False--The test or component is not running
每天进步一点点是卓越的开始,
每天创新一点点是领先的开始,
每天多做一点点是成功的开始。
I believe I can fly.^_^
TAG:
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | 5 | 6 | ||||
7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
28 | 29 | 30 |
我的存档
数据统计
- 访问量: 42263
- 日志数: 48
- 建立时间: 2009-07-04
- 更新时间: 2012-04-28