QTP自动化测试权威指南 连载(四)

发表于:2013-6-18 10:58

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:赵旭斌 阙勇等译    来源:51Testing软件测试网

第九章库函数文件

  库函数文件是包含VBScript脚本的纯文本格式文件,用来声明方法,变量,类等。库函数文件可以用任意后缀名,最常用的是VBS或者TXT。库函数文件可以用来组织存放不同功能的代码。它提供了在不同的QTP脚本中分享代码的方法。下面两节介绍加载库函数文件的两种方法。

  关联一个全局库函数文件

  通过这种方式库函数文件的同一实例可以被当前测试的所有Action共享和访问。如图9-1,打开 Test->Settings… ->Resources (标签页),添加库函数文件。

图9-1  Test Resource配置

  小提示1:多个库函数文件加载顺序是从下到上。如果有两个库函数文件包含相同函数,那么会使用更靠近顶部的。

  小提示2:如果库函数文件B依赖库函数文件A中的内容,库函数文件A应在列表中更靠近底部。

  小提示3:QTP使用全路径名存放库函数文件。作为推荐选项,我们可以使用文件相对路径,如"..\test.vbs"

  运行时动态加载本地库函数文件

  QTP提供ExecuteFile方法可以在运行时动态加载库函数文件。使用这种方法时库函数文件及其内容只能在ExecuteFile执行的那个Action中可见。下面是一些例子:

'通过绝对路径加载库函数文件
ExecuteFile "C:\Test.vbs"

'通过相对路径加载库函数文件
currentTestDir = Environment("TestDir")
vbsFilePath = currentTestDir& "\..\..\CommonLibs\Test.vbs"
ExecuteFilevbsFilePath

'从Quality Center加载库
ExecuteFile "[QC-ATTACH];;Subject\CommonLibs;;\Test.vbs"

  小提示:如果ActionA和ActionB都通过ExecuteFile加载了test.vbs,同时ActionA调用ActionB,要注意他们对于所有test.vbs的变量和方法都只使用自己的副本和单独实例。

  运行时动态加载全局库函数文件

  如之前描述,在一个Action中直接使用ExectueFile方法只能使库函数文件在当前Action可见。但是每个QTP测试脚本可能需要一组全局库,使得对其中所有的Action都可用。取代直接在Action中使用ExecuteFile来加载库的方法,我们在某个全局库中加载库函数文件,那么它将对所有Action可用。

'C: \LibLoader.vbs
Public Function ExecuteFileGlobal (ByValfileName)
ExecuteFilefileName
End Function

  我们可以将以上代码保存在一个VBS文件中并跟测试关联,使得在任意Action中都能通过调用ExecuteFileGlobal方法来加载文件。这样加载的文件在所有Action中都可以使用。

'在全局区域加载文件
ExecuteFileGlobal "C:\Test.vbs"

  但是当多个Action反复调用ExecuteFileGlobal会使某个库函数文件加载多次,这样每次都会破坏当前库函数文件中的全局变量的状态。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号