QuickTest Plus小工具,大作用
象我这样初学QTP的朋友刚开始时很可能没有注意到QuickTest Plus,因为QTP安装后默认是没有安装plus的,千回百转知道了plus,大概看了看,发现plus虽然都是些辅助性的小工具,但
往往会给你的工作带来事半功倍的效果。
一、安装QuickTest plus
QTP安装后,在 程序 > QuickTest Professional下点击QuickTest Plus,然后按照提示一步步往下安装即可,
其中要求输入序列号,输入和QTP安装时相同的序列号就可以了(8888-8888888888)。
二、提示和技巧
plus不仅提供了一些工具,还在它的帮助手册里给出了一些提示和技巧,以及一些实用的Function。
在这里我把一些比较常用的好东东贴出来,其他的就看plus的帮助吧。
1、创建action template.
当希望在每一个新建action时都增加一些头部说明,比如作者、创建日期、说明等,用action template
来实现最简单快捷。
方法:用记事本等文本编辑器,输入如下类似的内容:
'Company: xxxx
'Author: xxx
'Product: xxx
'Date: xx
然后将文件保存为ActionTemplate.mst,并存放到QTP安装目录下的dat目录,重启QTP,新建一个action试试,新建的action会包含以上信息。
2、关于设置测试报告里只显示error的信息。
帮助中说:修改安装目录下bin\QTReport.ini文件,增加以下内容:
ReportAppDefaultFilter=1 # for error only
ReportAppDefaultFilter=3 # shows all messages (default)
但根据我的测试结果,不尽其然:
1)当ReportAppDefaultFilter=1时,如果Object Repository中缺少对象,在报告中会在相应的
action前打叉,但不会提示具体错误,而成功的步骤都有具体信息显示。
2)用Reporter.ReportEvent测试的结果是:
ReportAppDefaultFilter=1时,只显示micDone的具体信息;
ReportAppDefaultFilter=2时,只显示micFail的具体信息;
ReportAppDefaultFilter=3时,只显示micDone和micFail的具体信息;
ReportAppDefaultFilter=4时,只显示micPass的具体信息;
似乎无规律可寻,所以我的结论暂时是:不要设置这个参数,用默认的,显示所有信息,更多的信息有利于分析结果。
3. 启动IE的语句:SystemUtil.Run "iexplore.exe", "http://www.mercuryinteractive.com"
4. 关闭IE或其他程序的语句:SystemUtil.CloseProcessByName "app.exe"
orSystemUtil.CloseProcessByWndTitle "Some Title"
三、Function Libraries
plus的帮助中提供了一些常用的Function,把这些function copy到文本编辑器中保存为.vbs文件,并添加到Resources中就可以直接调用了,
或直接copy到你的action中,就可以在当前的action中调用。更推荐第一种方法,所有的action都可以调用。
1、文件操作相关的function,如下,望名则可生意:
Function CreateFile(sFilename, bOverwrite);
Function OpenFile(sFilename, iomode, create);
Function AppendToFile(sFilename, sLine);
Function WriteToFile(sFilename, sLine);
2、Function NormalizeString(OrgStr); (将字符串变成regular express)
3、GlobalDictionary的使用,这是另外一种可以共享全局变量的方法,在所有的action中,包括local和external action中都可以访问。
4、使用文件系统相关的function:
Function ReadLineFromFile (byref FileRef);
Sub FileDelete ( FilePath);
Function FileCompare (byref FilePath1, byref FilePath2, byref FilePathDiff, ignoreWhiteSpace);
Function CheckFileExists (FilePath)
5. web table相关的function:
Function ItemByKeyColumn(): 根据table中某列的值,得到同一行中另一列的对象。(这个功能非常有用。)
Function ObjectsByMicClass(Obj, micClass): 得到table中所有的micClass类型的对象集合。
四、工具
1、Automation Generator Utility
添加一系列动作,然后自动完成。如:启动QTP,然后执行test1, test2, test3...,最后关闭QTP,还可以连接或断开Quality center.
值得注意的是,每个test都可以分别指定test result文件,这样可以把所有test result指定到同一个目录下,所有test执行完成后,
用Test Result Viewer就可以快速的查看测试报告。
2、External Action Call Modifier Utility
外部Action调用修改工具。当删除一个Reusable action前,如果没有先删除其他test中对它的调用,则打开其他test时,会提示找不到某某
action,这种情况下启用该工具,工具会列出test下所有调用的外部action(如果调用的action是使用相对路径,则不会列出来),如果外部
action找不到,会用红色的问号表示,删除它并保存后就OK了。
也可以在此处修改外部action的来源,修改后原来的action parameter仍会保留。
3、Repository Merge Utility
合并多个对象库文件中的对象,如果出现冲突,可以选择忽略,或手工合并,或自动合并。
对象库文件是Action目录下的Resource.mtr文件。
4. Report Analyzer
Test Result的另一个查看工具,提供了一些过滤条件,比如只查看failed step, 或只查看checkpoints,或只查看某个action。
先就写这么多了,抛砖引玉,希望你能发现你想要的东西。写得不对的,不要客气,请指出来,不胜感激。
[ 本帖最后由 麦子华华 于 2006-8-22 12:13 编辑 ] 以前的网友都有提,也没有怎么去总结,但还是有很多人不知道的,
你介绍得不错,向你学习了! 向楼主学习了! 是呀!楼主是个大好人呀!!如果plus有中文版的就好啦!!!^_^我顶!!! 向楼主致敬,谢谢楼主的总结。 真没想到QTP 还隐藏着QuickTest Plus 这一个好宝贝。QuickTest Plus 工具虽小,作用却不小呀。 听楼主这么一介绍,我一定要回去好好研究一下这个宝贝。 谢谢楼主! 善于总结 请问搂住,我装了qtp9怎么没有发现这个小工具阿? 9.0没有 这个puls工具哦 原帖由 xjmen 于 2006-8-28 13:17 发表
9.0没有 这个puls工具哦
这个只有8.2才有! 原帖由 QA_BAY 于 2006-8-28 14:23 发表
这个只有8.2才有!
哈哈! 看来 QTP 8.2 版本也有比QTP 9.0 强的地方! 俺一直是用 QTP 8.2 !sdlkfj3
我用的也是8.2但是怎么没有发现QuickTest Plus?
请问搂主我用的也是8.2但是在开始->程序- > QuickTest Professional下怎么没有发现QuickTest Plus? 佩服楼主.. 原帖由 kaddy 于 2006-9-29 18:35 发表请问搂主我用的也是8.2但是在开始->程序- > QuickTest Professional下怎么没有发现QuickTest Plus?
开始->程序- > QuickTest Professional下只有Quicktest Plus Setup,点击它进行安装,安装后会出现 开始->程序- > QuickTest Plus 我的开始-〉程序-〉Qicktest Professional 下怎么没有见到Qicktest Plus setup呀?请 见附件。 5555555555,9.0没有Plus 我用的是8.2呀!是否安装的时候出现了问题? kaddy老兄,真是服了你,一张图片还要放到word里!!咋不直接上传图片一目了然呢
可能是你安装时没有完全安装。 如果在安装的时候没有完全安装,那么现在有什么修复的方法吗?(除了reinstall以外,因为我的机器是公司的,所以不可能给我们反复的安装)有没有Quick Test Plus的安装软件? 原帖由 kaddy 于 2006-10-8 17:02 发表
我的开始-〉程序-〉Qicktest Professional 下怎么没有见到Qicktest Plus setup呀?请 见附件。
哈哈,在光盤的目錄面有啊!你理解錯了。。。。。。