51Testing软件测试论坛

标题: 【分享】使用相对路径call外部action [打印本页]

作者: 麦子华华    时间: 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,都不能修改,只能删除后重新按相对路径方式插入。
作者: QA_BAY    时间: 2006-8-22 15:01
总结得很好,向你学习!
作者: 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脚本的机器,或者需要执行的机器,只要能访问相应的虚拟盘符就可以了.

[ 本帖最后由 Salina 于 2007-2-27 14:11 编辑 ]
作者: jutlin    时间: 2007-5-1 11:58
感謝分享
作者: wish_luckyman    时间: 2007-6-22 18:28
学习无止境!!!
作者: 郁金香    时间: 2007-10-8 15:58
标题: MAP?
原帖由 Salina 于 2007-2-27 14:08 发表
我是这样做的, 不管在任何环境下,都把存放代码的脚本目录Map到一个虚拟盘符上,比如: Z:\
然后把 Z:\设置在Tools->Option->Folders
这样在任何需要使用QTP脚本的机器,或者需要执行的机器,只要能访问相应的虚拟盘符就 ...

请问:如何把存放代码的脚本Map到一个虚拟盘符上呢?我不是很明白,麻烦向我解释一下如何操作?
作者: sally_0817    时间: 2008-6-4 16:40
当被调用的action路径发生变化时,只要把变化后的路径加入到folders里,脚本便可正常运行。
作者: ltp401128401128    时间: 2008-11-21 15:53
好文章啊,这个正是我现在想要的东西,顶一个
作者: songyq521    时间: 2009-5-11 18:35
call外部action

我有个疑问,这里的call to existing action 是通过QTP的UI上操作完成,有没有方法通过脚本代码或者编程来完成这个操作呢?!(急)
作者: t95abin    时间: 2009-12-28 11:09
学习了,谢谢分享
作者: shuishixingyu    时间: 2010-6-7 09:00
正好用到,我还试了半天RunAction




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2