51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5011|回复: 13
打印 上一主题 下一主题

[求助] 关于脚本中的相对路径

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-9-14 17:45:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在脚本中有段读取文档的代码,文档路径,我写的相对路径,因为考虑到以后脚本的移植性。但是在运行这段脚本的时候,QTP有时候能够根据相对路径找到该文档,有时候又提示“路径未找到”。不知道该怎么解决。代码如下:
'从文件url_h.txt中读取后台登陆地址
   Const ForReading = 1
   Dim fso, MyFile
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MyFile = fso.OpenTextFile("..\data\url_h.txt",ForReading)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-9-14 17:55:03 | 只看该作者
我也碰到过类似的问题:
我在脚本开头写代码读一个EXCEL内的数据到datatable内,如果用相对路径,修改excel文件的数据,重新运行脚本
datatable内的数据是不会变的
但使用绝对路径就没有这个问题
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-9-14 18:08:40 | 只看该作者
用Environment.Value("TestDir")先得到当前的路径,再加上你的相对路径,就可以使用“绝对”路径了。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-9-14 19:41:45 | 只看该作者
谢谢麦子华华,这个方法不错。顺便问下麦子,通过Environment还可以取一些系统的什么值,常用的?我这里也找不到相关文档,想再多了解一些。sdlkfj2
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2006-9-14 19:57:31 | 只看该作者
    在 QTP 的帮助里面就有 关于 Environment 的介绍呀。你以 Environment 为关键词去搜索就可以了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2006-9-15 09:47:12 | 只看该作者
    我就是在help里找了的,Utility.chm里面对Environment对象的介绍很少,它的Value属性也介绍得很简单。
    Environment.Value("TestDir")可得到当前的路径更是没有。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2006-9-15 15:23:20 | 只看该作者
    以Using Built-in Environment Variables 做搜索,可以找到蛮多built-in的环境变量的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2006-9-17 13:59:02 | 只看该作者
    麦子华华,看了你的一篇贴子http://bbs.51testing.com/thread-41782-1-1.html
    你在文中提到Tools > Options > Folders里,加入存放脚本的路径d:\QTP_Test。我可以在脚本里面通过语句取到该路径d:\QTP_Test吗?因为这个不仅能解决Call外部Action的问题,还可以解决获得外部文件存放路径的问题。
    而你说的Environment.Value("TestDir")先得到当前的路径,是当前脚本的路径,如:E:\Product\WebShop\testscript\V2.3\商品管理\添加商品
    而我的外部文件的路径是E:\Product\WebShop\testscript\V2.3\data\url_h.txt
    所以我想要的是E:\Product\WebShop\testscript\V2.3+相对路径(data\url_h.txt)
    而不是E:\Product\WebShop\testscript\V2.3\商品管理\添加商品
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2006-9-17 14:41:35 | 只看该作者
    问题解决了
    1.先在Tools > Options > Folders里,加入路径E:\Product\WebShop\testscript\V2.3
    2.再通过PathFinder.Locate("data\url_h.txt")就可以得到全路径了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2006-9-27 10:41:03 | 只看该作者
    好久没来,楼上的方法也不错,PathFinder.Locate,又学到了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2006-9-28 10:13:34 | 只看该作者
    不错的方法
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-1-29 15:37:57 | 只看该作者
    谢谢楼上的了,我正为这个问题困惑了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-1-29 16:58:50 | 只看该作者
    又学了一招sdlkfj2
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2010-9-2 17:18:23 | 只看该作者
    PathFinder.Locate,帮大忙了简直~
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 11:08 , Processed in 0.074891 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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