今天讲的内容比较精彩也比较重要。希望不要错过,耐心看完,呵呵,在自动化测试中不管是相对路径还是保留对象PathFinder在框架开发中都是常用+实用。大家都知道对于一个脚本的相对路径的实现是非常重要的,这样方便以后的脚本移植,同样也能方便管理QTP的一些加载的对象、函数、场景恢复function,环境变量等等。
如图我们可以看到QTP默认存在的一个<current test>这个就是本test的一个动态路径,此处添加了"d:\framework\",也就是我设置的相对路径,如果此时我在这个路径下有一个tsr的对象库文件,就可以直接使用相对路径加载到共享对象库里。如图
当然如果是开发框架的话完全可以使用AOM在QTP启动时就事先加载好这些路径,不过今天我讲的重点不在相对路径的设置。
而是一个非常有用的对象,就是PathFinder对象,这才是我今天要讲的核心部分。
其实PathFinder我相信很多朋友也一定很熟悉,QTP中的普通的不能再普通的保留对象,而今天我就要把它的作用完完全全的发挥出来。
当我们在QTP中输入pathfinder之后输入"."后QTP会由于complete word而自动补充Locate方法。也就是说在QTP中,pathfinder就只有这一个Locate方法。此方法返回一个相对路径的完整路径。而由于我们之前设置过"d:\framework\"的相对路径,因此我们运行后会显示完整的路径。
这一点相信很多人都会使用,也应该都很熟练了。
其实这个MFL自动化路径模型对象就是在QTP中的PathFinder对象,那我们就来见识一下MFL对象的庐山真面目。
打开vbsedit。输入Set mfl = CreateObject("Mercury.FileLocator")并查看mfl的方法
如图:
在vbsedit中我们可以发现MFL对象的所有方法,同样Locate方法也在里面。
我们可以使用一下其中的几个方法:
-> msgbox PathFinder.count
-> msgbox PathFinder.CurrentTestPath
-> PathFinder.Insert "D:\Program Files", PathFinder.count+1
运行完我们可以看到在Tools -> options -> Folders ->下自动插入了一条记录。
小结:
剩下的方法大家可以自行去研究,这里就简单的介绍几个比较实用的。今天这一章主要就是讲MFL的这个对象,此对象在路径控制上非常有用,特别是在框架开发中。大家一定还在琢磨我为什么会知道这个对象吧。其实很简单,还是注册表。
宝藏地点:
进入HKCU -> SOFTWARE -> MERCURY INTERACTIVE -> QuickTest Professional -> MicTest -> FileLocator
可以看到prog id的键值为: Mercury.FileLocator
还不快去挖你的宝藏?