麦子华华 2006-8-22 14:29
【分享】使用相对路径call外部action
使用相对路径call外部action有很多好处。当test所在路径变化时,只要外部action所在的test的相对路径没变,且文件名没变,那么路径不管怎么变化,对外部action的call都有效,否则只要一改变路径,external action都不可用。
使用相对路径的方法:
1).首先,在Tools > Options > Folders里,把存放脚本的路径加进来。比如你有test1, test2脚本文件,都放在路径d:\QTP_Test下,
那么加入路径d:\QTP_Test。
2).在test1中插入test2中的reusable actionA的方法:在Insert call to existing Action的对话框中,From test栏不要点击浏览按钮,而是直接输入test2,然后Action下拉框中会自动列出test2中可重用的action,此时选中actionA,并确定。
3).验证是否是以相对路径的方式插入外部Action: 在刚插入的actionA上点击右键,Action Properties,在Location栏中显示的应该是test2\actionA,那么就对了。如果显示的是d:\QTP_Test\test2\actionA,说明还是以绝对路径的方式插入的,只要d:\QTP_Test 的路径变了,所有的外部Action都不能访问。
比较麻烦的是,原来用绝对路径方式插入的action,都不能修改,只能删除后重新按相对路径方式插入。
2005hljun 2006-8-23 09:28
这个技巧很不错,正准备有时间把脚本调用都改成相对路径,呵呵。
walker1020 2006-8-23 11:04
补充一点
如果你想把你的QTP 脚本从一台电脑拷贝到另外一台电脑上,那么 只要保证脚本在这两台电脑上的 路径一致就可以了。例如,我的测试脚本在原来电脑的位置是 D:\scropt, 那么把这些测试脚本拷贝到 第二台电脑的 D:\scropt 下,直接运行就可以了。这样不需要进行任何修改了。 我们在演示 QTP 测试脚本的时候就经常用这样方法。
walker1020 2006-8-23 11:12
根据我的理解, 如果是规模大的公司和对测试比较重视的公司(如微软),他们都是有专门的测试部门,对测试人员也划分的比较细。他们也有专门的测试机和测试环境。因此 他们就不会说是发生去改变测试脚本的路径的问题。
如果没有专门的测试机和测试环境,那么我建议把测试机和测试环境相对稳定下来,以减少无用的工作在这些没有什么意思的问题上。
麦子华华 2006-8-23 14:23
有时候从工作机移到测试机上,或者其他的原因,难免会出现绝对路径发生变化的情况。所以如果一开始就都使用相对路径,就可以避免这样的问题,何尝不可呢?!
QA_BAY 2006-8-23 16:39
我的做法就是,把这些外部的ACTION都放在本地目录下面,如果放到其它测试机,那整个目录COPY过去就可以了,不会说是少了哪个,或者放在QC上面也行!
volvoo 2006-8-23 17:41
这个功能意义重大
如果进行版本管理,GET代码的时候要你设置工作目录,如果有了这个功能,工作目录就可以随意设置了,我以前都是用的绝对目录,GET代码的时候必须跟当初上传代码的目录一致,因为开始调试的目录是变化的,记住了绝对目录就很麻烦了。
终于让搂住发现了这个功能,好贴
walker1020 2006-9-6 20:28
好帖,值得收藏!
Salina 2007-2-27 14:08
通过Map Network Driver更好
我是这样做的, 不管在任何环境下,都把存放代码的脚本目录Map到一个虚拟盘符上,比如: Z:\
然后把 Z:\设置在Tools->Option->Folders
这样在任何需要使用QTP脚本的机器,或者需要执行的机器,只要能访问相应的虚拟盘符就可以了.
[[i] 本帖最后由 Salina 于 2007-2-27 14:11 编辑 [/i]]
wish_luckyman 2007-6-22 18:28
学习无止境!!!
郁金香 2007-10-8 15:58
MAP?
[quote]原帖由 [i]Salina[/i] 于 2007-2-27 14:08 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=440674&ptid=41782][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
我是这样做的, 不管在任何环境下,都把存放代码的脚本目录Map到一个虚拟盘符上,比如: Z:\
然后把 Z:\设置在Tools->Option->Folders
这样在任何需要使用QTP脚本的机器,或者需要执行的机器,只要能访问相应的虚拟盘符就 ... [/quote]
请问:如何把存放代码的脚本Map到一个虚拟盘符上呢?我不是很明白,麻烦向我解释一下如何操作?
sally_0817 2008-6-4 16:40
当被调用的action路径发生变化时,只要把变化后的路径加入到folders里,脚本便可正常运行。
ltp401128401128 2008-11-21 15:53
好文章啊,这个正是我现在想要的东西,顶一个