相对路径[3] - 引用函数库
上一篇 /
下一篇 2007-06-12 10:34:34
/ 个人分类:QTP
在
测试脚本的设计开发过程中,应该将可以重复利用的Action设计成Resuable Action。此外,还应该将可以重复利用的函数或子过程封装成可以从外部引用的公用函数库。
QTP使用的开发语言是VBscrīpt,因此把这种类型的函数库保存为*.vbs的文件形式就可以了。
以封装改变QTP窗口的子过程为例,将如下脚本
'****************************************************************************** 'Name: ChangeQTPState 'Descrīption: This sub changes the QTP window to a designated state during run ' sesscion. 'Param: State indicates what the QTP window will be changed to. ' Possible value for State: Minimized, Maximized, Restored '****************************************************************************** Sub ChangeQTPState(State) Dim objQTPWin Set ōbjQTPWin = GetObject("" , "QuickTest.Application") objQTPWin.WindowState = State Set ōbjQTPWin = Nothing End Sub |
保存到func.vbs,以后就可以从测试脚本中引用func.vbs的ChangeQTPState方法了。
引用函数库文件的方式有两种,分别是测试脚本中执行ExecuteFile方法和测试资源指向vbs文件。
假设测试脚本Test1和func.vbs分别如下保存:
scrīptRoot\
\Testscrīpts\Test1
\Lib\func.vbs
[ExecuteFile方法]在测试脚本Test1中加入如下语句:
ExecuteFile "scrīptRoot\Lib\func.vbs"
在后面的语句中就可以直接调用func.vbs中已经定义的各个函数或者子过程了,比如ChangeQTPState。
[指定测试资源]在QTP中打开测试脚本Test1,并且选择菜单File -> Settings。在打开的Test Settins对话框中选择Resources标签页。在Associated function libraries列表中浏览并添加func.vbs。
使用上述的任一方法向测试脚本Test1添加函数库func.vbs的引用,func.vbs的绝对路径都会给测试脚本带来移植性问题。当测试脚本的根目录scrīptRoot发生变化,测试脚本Test1对函数库func.vbs的引用就失效了。只能重复编辑相应的位置,把func.vbs新的绝对路径信息更新到脚本中去,从而让测试脚本Test1找到func.vbs文件。其实只要用相对路径的方式稍加改进,这样的问题就可以避免了。根据Test1和func.vbs的相对位置,func.vbs对Test1的相对路径就是"..\..\Lib\func.vbs"。
[ExecuteFile方法]在测试脚本Test1中加入如下语句:
ExecuteFile "..\..\Lib\func.vbs"
[指定测试资源]在Associated function libraries列表中把已经添加的func.vbs改成..\..\Lib\func.vbs。
编辑完成并保存Test1,以相对路径方式引用func.vbs的关系就在脚本中保存下来。以后无论测试脚本的根目录如何变化,只要Test1和func.vbs的相对位置不变,他们之间的引用关系就不会发生变化了。
相关阅读:
- 用好QTP帮助文档 (winfood, 2007-6-07)
- QTP链接Oracle (eramyang, 2007-6-08)
- QTP:IE自动弹出下载窗口设置 (eramyang, 2007-6-08)
- QTP中使用 Exist 的问题 (higkoo, 2007-6-09)
- 在测试脚本中用相对路径调用外部资源 (winfood, 2007-6-09)
- QTP与Oracle数据库链接脚本 (eramyang, 2007-6-11)
- QTP链接Oracle (fishy, 2007-6-11)
- QTP无法识别对象的补充(原创) (shaofei19820625, 2007-6-11)
- 相对路径[1] - 调用Reusable Action (winfood, 2007-6-12)
- 相对路径[2] - 关联对象库 (winfood, 2007-6-12)
收藏
举报
TAG:
QTP