51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7113|回复: 17
打印 上一主题 下一主题

[原创] 【分享】使用相对路径call外部action

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-8-22 14:29:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用相对路径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,都不能修改,只能删除后重新按相对路径方式插入。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-8-22 15:01:23 | 只看该作者
总结得很好,向你学习!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-8-23 09:28:34 | 只看该作者
这个技巧很不错,正准备有时间把脚本调用都改成相对路径,呵呵。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2006-8-23 11:04:35 | 只看该作者

    补充一点

    如果你想把你的QTP 脚本从一台电脑拷贝到另外一台电脑上,那么 只要保证脚本在这两台电脑上的 路径一致就可以了。例如,我的测试脚本在原来电脑的位置是 D:\scropt, 那么把这些测试脚本拷贝到 第二台电脑的 D:\scropt 下,直接运行就可以了。这样不需要进行任何修改了。 我们在演示 QTP 测试脚本的时候就经常用这样方法。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2006-8-23 11:12:42 | 只看该作者
    根据我的理解, 如果是规模大的公司和对测试比较重视的公司(如微软),他们都是有专门的测试部门,对测试人员也划分的比较细。他们也有专门的测试机和测试环境。因此 他们就不会说是发生去改变测试脚本的路径的问题。
    如果没有专门的测试机和测试环境,那么我建议把测试机和测试环境相对稳定下来,以减少无用的工作在这些没有什么意思的问题上。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2006-8-23 14:23:00 | 只看该作者
    有时候从工作机移到测试机上,或者其他的原因,难免会出现绝对路径发生变化的情况。所以如果一开始就都使用相对路径,就可以避免这样的问题,何尝不可呢?!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2006-8-23 16:39:53 | 只看该作者
    我的做法就是,把这些外部的ACTION都放在本地目录下面,如果放到其它测试机,那整个目录COPY过去就可以了,不会说是少了哪个,或者放在QC上面也行!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2006-8-23 17:41:22 | 只看该作者

    这个功能意义重大

    如果进行版本管理,GET代码的时候要你设置工作目录,如果有了这个功能,工作目录就可以随意设置了,我以前都是用的绝对目录,GET代码的时候必须跟当初上传代码的目录一致,因为开始调试的目录是变化的,记住了绝对目录就很麻烦了。
    终于让搂住发现了这个功能,好贴
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
    发表于 2006-9-6 20:28:50 | 只看该作者
    好帖,值得收藏!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-2-27 14:08:12 | 只看该作者

    通过Map Network Driver更好

    我是这样做的, 不管在任何环境下,都把存放代码的脚本目录Map到一个虚拟盘符上,比如: Z:\
    然后把 Z:\设置在Tools->Option->Folders
    这样在任何需要使用QTP脚本的机器,或者需要执行的机器,只要能访问相应的虚拟盘符就可以了.

    [ 本帖最后由 Salina 于 2007-2-27 14:11 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-5-1 11:58:49 | 只看该作者
    感謝分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-6-22 18:28:37 | 只看该作者
    学习无止境!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-10-8 15:58:20 | 只看该作者

    MAP?

    原帖由 Salina 于 2007-2-27 14:08 发表
    我是这样做的, 不管在任何环境下,都把存放代码的脚本目录Map到一个虚拟盘符上,比如: Z:\
    然后把 Z:\设置在Tools->Option->Folders
    这样在任何需要使用QTP脚本的机器,或者需要执行的机器,只要能访问相应的虚拟盘符就 ...

    请问:如何把存放代码的脚本Map到一个虚拟盘符上呢?我不是很明白,麻烦向我解释一下如何操作?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-6-4 16:40:56 | 只看该作者
    当被调用的action路径发生变化时,只要把变化后的路径加入到folders里,脚本便可正常运行。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2008-11-21 15:53:13 | 只看该作者
    好文章啊,这个正是我现在想要的东西,顶一个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2009-5-11 18:35:47 | 只看该作者
    call外部action

    我有个疑问,这里的call to existing action 是通过QTP的UI上操作完成,有没有方法通过脚本代码或者编程来完成这个操作呢?!(急)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 10:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    17#
    发表于 2009-12-28 11:09:00 | 只看该作者
    学习了,谢谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2010-6-7 09:00:54 | 只看该作者
    正好用到,我还试了半天RunAction
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-20 14:41 , Processed in 0.080002 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表