51Testing软件测试论坛

标题: 关于脚本中的相对路径 [打印本页]

作者: fy_dodo    时间: 2006-9-14 17:45
标题: 关于脚本中的相对路径
我在脚本中有段读取文档的代码,文档路径,我写的相对路径,因为考虑到以后脚本的移植性。但是在运行这段脚本的时候,QTP有时候能够根据相对路径找到该文档,有时候又提示“路径未找到”。不知道该怎么解决。代码如下:
'从文件url_h.txt中读取后台登陆地址
   Const ForReading = 1
   Dim fso, MyFile
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MyFile = fso.OpenTextFile("..\data\url_h.txt",ForReading)
作者: yn303    时间: 2006-9-14 17:55
我也碰到过类似的问题:
我在脚本开头写代码读一个EXCEL内的数据到datatable内,如果用相对路径,修改excel文件的数据,重新运行脚本
datatable内的数据是不会变的
但使用绝对路径就没有这个问题
作者: 麦子华华    时间: 2006-9-14 18:08
用Environment.Value("TestDir")先得到当前的路径,再加上你的相对路径,就可以使用“绝对”路径了。
作者: fy_dodo    时间: 2006-9-14 19:41
谢谢麦子华华,这个方法不错。顺便问下麦子,通过Environment还可以取一些系统的什么值,常用的?我这里也找不到相关文档,想再多了解一些。sdlkfj2
作者: walker1020    时间: 2006-9-14 19:57
在 QTP 的帮助里面就有 关于 Environment 的介绍呀。你以 Environment 为关键词去搜索就可以了。
作者: fy_dodo    时间: 2006-9-15 09:47
我就是在help里找了的,Utility.chm里面对Environment对象的介绍很少,它的Value属性也介绍得很简单。
Environment.Value("TestDir")可得到当前的路径更是没有。
作者: qsj_shao    时间: 2006-9-15 15:23
以Using Built-in Environment Variables 做搜索,可以找到蛮多built-in的环境变量的
作者: fy_dodo    时间: 2006-9-17 13:59
麦子华华,看了你的一篇贴子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\商品管理\添加商品
作者: fy_dodo    时间: 2006-9-17 14:41
问题解决了
1.先在Tools > Options > Folders里,加入路径E:\Product\WebShop\testscript\V2.3
2.再通过PathFinder.Locate("data\url_h.txt")就可以得到全路径了!
作者: 麦子华华    时间: 2006-9-27 10:41
好久没来,楼上的方法也不错,PathFinder.Locate,又学到了
作者: hfsj    时间: 2006-9-28 10:13
不错的方法
作者: hxf    时间: 2007-1-29 15:37
谢谢楼上的了,我正为这个问题困惑了。
作者: hxa2010    时间: 2007-1-29 16:58
又学了一招sdlkfj2
作者: luxiuxiu1987    时间: 2010-9-2 17:18
PathFinder.Locate,帮大忙了简直~




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